zoukankan      html  css  js  c++  java
  • shell管理前台进程

    shell内置变量

       $?:代表上一个命令执行后的退出状态
       $0:shell或shell脚本的名字
       $@:将各个参数分别加双引号返回
       $_:代表上一个命令的最后一个参数
       $$:代表所在命令的PID
       $#:参数的个数

       if [ $# -eq 0 ]; then
         UpdateIp
          __ReadINI ../conf/install_config.ini
          main
      else
         UpdateIp
         use_conf=".config_$(basename $0 _install.sh).ini"
         cp -rfp $1 '../conf/${file_name}'
        __ReadINI ../conf/${file_name}
       cp -av ../conf/${file_name} ${INSTALL_DIR}/conf/${file_name} 2>&1 >/dev/null
        main 2>&1 | tee -a ../log/enterprise.log
      fi

    shell终止前台进程

         flink进程用servicectl stop taishi杀不掉需要手动终止
         flinkpid=`ps -ef | grep java | grep flink | awk '{print $2}'`
         kill -9 $flinkpid


        su - elasticsearch /app/taishi/elasticsearch/bin/elasticsearch
        把所有关联启动的子进程一起杀掉
        ps -ef | grep elasticsearch | awk '{print $2}' | xargs kill -9

        

        一直在终端输出日志的就是前台进程 一旦按ctrl+c或者使用kill -9 pid 那么这个进程就会被终止掉

        使用systemctl 进行启动和管理的都是后台进程的方式 但是在docker和supervisor管理情况下以后台进程的方式会造成一些问题

        sudo cd 不生效    

        shell
             shell是一个命令解析器,所谓shell是一个交互式的应用程序。

            shell执行外部命令的 时候,是通过fork/exec叉一个子进程,然后执行这个程序。

        sudo
           sudo 是一种程序,用于提升用户的权限,在linux中输入sudo就是调用sudo这个程序提升权限
           sudo的意思是,以别人的权限起一个进程,并运行程序。

        cd
              cd是shell的内部命令。 也就是说,是直接由shell运行的,不启动子进程。

             cd不是一个应用程序而是Linux内建的命令,而sudo仅仅只对应用程序起作用

        

       shell的执行方式

           1.登录模式shell

               sudo ,su ,ssh 的方式都是伴随着登录后执行命令  登录模式触发的文件流程

               

           2.非登录模式shell

               在当前用户的身份正常执行一个shell 比如 sh a.sh 或者 ./a.sh 这种情况不会触发登录模式的完整流程

           3.交互式模式shell

               当用户打开一个终端命令行工具后,会进入一个输入命令得到结果的交互界面,这个时候就是交互式shell.bashrc文件通常只在interactive模式下才会执行

           4.非交互式模式shell

             通过ssh远程 shell 执行一个文件,你就不是在 interactive 模式下.bashrc不会触发.但是因为登录的原因login shell 都会触发,也就是说profile文件依然会执行

     shell分屏操作

        

  • 相关阅读:
    [Angualr 2] Watch for changes
    [Angular 2] Custom Validtors
    [Angular 2] The form export from NgFormControl
    [Angular 2] Validation
    [Angualr 2] Using FormBuilder
    [Angular 2] ng-control & ng-control-group
    [Angular 2] NgNonBindable
    [Ruby] LEVEL 2 Methods and Classes
    [Rails Level 2] Ground up
    [AngularJS] 5 simple ways to speed up your AngularJS application
  • 原文地址:https://www.cnblogs.com/yxh168/p/13596210.html
Copyright © 2011-2022 走看看