首页 > linux > linux进程控制

linux进程控制

作者:bin
目录
[隐藏]

一、常用linux信号

 1 SIGHUP 进程挂起
 2 SIGINT 终止进程
 3 SIGQUIT 停止进程
 9 SIGKILL 无条件终止进程
 15 SIGTERM 尽可能终止进程
 17 SIGSTOP 无条件停止进程,但不终止进程
 18 SIGTSTP 停止或暂停进程,但不终止进程
 19 SIGCONT 继续运行停止的进程

二、捕获进程信号

捕获(2) 终止进程SIGINT(ctrl + c),使用trap命令捕获进程信号

trap " echo 'sorry I must continue..'" SIGINT
count=1
while [ $count -le 10 ]
do
   echo "loop:$count";
   count=$[ $count + 1 ];
   sleep 1;
done;
echo "this is end";

同样的方法

trap " echo 'finish'" EXIT

删除已经设置的trap命令

trap -- SIGINT

三、后台运行脚本(&)

只需要在运行的脚本后面加一个 & 符号就行

$./test.sh &

在非控制之态模式(退出控制台),让脚本后台运行

$nohup ./test.sh &

这里可以自己将输出重定向

四、查看运行中的脚本进程(jobs)

使用jobs命令查看

$ jobs -l
[1]-  Running                 ./test.sh &
[2]+  Running                 ./test.sh &

这里注意 + 号 – 号,带+号的进程表示默认进程,接收控制台的命令,任何时候都只有一个默认进程。

五、重启停止进程(bg|fg)

使用bg + 进程作业号重启

$./test.sh
^Z
[1]+  Stopped                 ./test.sh
$bg 1
[1]+ ./test.sh &

这里直接使用bg不加作业号也行,因为1作业号正好是默认进程

这里使用bg是指后台启动进程,如果要前台启动执行fg即可

 

您必须 [ 登录 ] 才能发表留言!