今天的阿里云又挂了,
顺便学习了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请参考其他详细文章