1、运行.sh文件

直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。

(1)&命令

功能:加在一个命令的最后,可以把这个命令放在后台执行

(2)nohup命令

功能:不挂断的运行命令

linux中查看正在运行的python程序命令 linux 查看正在运行_服务器


功能:脱离终端后台运行

nohup ./runsdksrv > /dev/null 2>&1 &;

2、查看当前后台运行的命令

有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。

(1)jobs命令

功能:查看当前终端后台运行的任务

linux中查看正在运行的python程序命令 linux 查看正在运行_运维_02


jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

(2)ps命令

功能:查看当前终端的所有进程

ps -aux | grep “test.sh” #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分

ps -A / ps -e //显示所有进程信息
ps -u root //显示指定用户信息
ps -ef //显示所有进程信息,连同命令行
ps -ef|grep ssh // ps 与grep 常用组合用法,查找特定进程
ps -l // 将目前属于您自己这次登入的 PID 与相关信息列示出来
ps aux | egrep '(cron|syslog)' // 找出与 cron 与 syslog 这两个服务有关的 PID 号码

前后台进程的切换与控制

(1)fg命令

功能:将后台中的命令调至前台继续运行

如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

(2)Ctrl + z 命令

功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

(3)bg命令

功能:将一个在后台暂停的命令,变成在后台继续执行

如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

杀死进程

killall可以根据名字来杀死进程,它会给指定名字的所有进程发送信息。如果没有指定信号名,则发送SIGTERM。信号可以通过名称(例如-HUP或-SIGHUP)或数字(例如-1)或选项-s来指定。如果命令名不是正则表达式(选项-r),并且包含斜杠(/),则将选择执行该特定文件的进程,与其名称无关。如果每个列出的命令至少有一个进程被杀死,或者没有列出命令,并且至少有一个进程符合-u和-Z搜索条件,则KILLALL返回一个零返回代码。否则KILLALL返回非零。KILLALL进程永远不会杀死自己(但可能会杀死其他KILLALL进程)。

linux中查看正在运行的python程序命令 linux 查看正在运行_运维_03

[root@localhost ~]#ps                        //查看进程,有3个wc进程

  PID TTY          TIME CMD

 8266 pts/0    00:00:00 bash

 9781 pts/0    00:00:00 wc

 9784 pts/0    00:00:00 wc

 9785 pts/0    00:00:00 wc

 9786 pts/0    00:00:00 ps

[root@localhost ~]# killall -9 wc          //结束所有的wc进程

[root@localhost ~]#ps                       //查看进程,wc都被杀死

  PID TTY          TIME CMD

 8266 pts/0    00:00:00 bash

 9788 pts/0    00:00:00 ps

[1]   已杀死               nice -n 19 wc

[2]-  已杀死               nice -n 19 wc

[3]+  已杀死               nice -n 19 wc

是否正在执行

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
  #如果不存在返回1,存在返回0     
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}