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即可