linux下关于后台任务和前台任务之间的且切换命令小结

时间:2021-09-19 14:54:47

今天的阿里云又挂了,

顺便学习了linux中前后台命令的切换知识。贴上来做个记录。

1、将当前任务放在后台
ctrl+z
或者是加&符号
watch  -n 10 sh  test.sh  &  #每10s在后台执行一次test.sh脚本
ps:watch命周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 


一个 log 文件,ls 监测某个文件的大小变化

2、jobs 查看当前后台有多少命令


jobs-l 一般用到-l 具体命令可man jobs查看
jobs-l 可以显示所有任务的pid,


3、kill 通过jobs -l 查看pid之后,便可以直接kill掉
也可以通过 kill % 命令号


4、fg 将后天命令放在前台继续运行。如果有多个,可以用fg %jobnumber(是命令编号,不是pid,一般就是一位数字)


5、bg将一个在后台暂停的命令,放在后台继续运行。
一般都是running 运行中 stopped 暂停 terminate(结束,终止)


另外还有一个更厉害的 nohup


很多程序并不象mysqld一样做成守护进程,一般普通种程序使用 & 结尾,但是如果终端关闭,那么程序也会被关闭。但


是为了能够后台运行,那么我们就可以使用nohup,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运


行,那么就使用nohup:


  nohup /root/test.php &


提示:


  [~]$ appending output to nohup.out


具体的nohup请参考其他详细文章

linux下关于后台任务和前台任务之间的且切换命令小结