shell脚本在前后台切换
当我们要让一脚本在后台执行的话,要执行nohup sh test.sh &,如果你要把后台的这个脚本切换到前台来,那么你可以按照下面的步骤来执行:
1.先用jobs查看当前bash一共启动了多少程序,你可以看到test.sh在其中,可以看到他的jobid是1,那么就用命令fg 1来把他切换到前台来执行,这里你肯定会想如果我又想让他回到后台继续运行应该怎么做呢.
2.那么我们就要先用Ctrl+z先暂停这个脚本在前台运行,注意脚本只是暂停运行了,进程还是存在的,然后我们再用命令bg 1来让其回到后台继续运行.
3.如果你要杀掉后台脚本的话,那么你就要用ps aux|grep test.sh来查看他的进程号(即PID),然后使用kill -9 pid就可以杀掉test.sh的进程了.
1.先用jobs查看当前bash一共启动了多少程序,你可以看到test.sh在其中,可以看到他的jobid是1,那么就用命令fg 1来把他切换到前台来执行,这里你肯定会想如果我又想让他回到后台继续运行应该怎么做呢.
2.那么我们就要先用Ctrl+z先暂停这个脚本在前台运行,注意脚本只是暂停运行了,进程还是存在的,然后我们再用命令bg 1来让其回到后台继续运行.
3.如果你要杀掉后台脚本的话,那么你就要用ps aux|grep test.sh来查看他的进程号(即PID),然后使用kill -9 pid就可以杀掉test.sh的进程了.
个人认为应该jobs后grep出相应的进程,且截取第一字段,找出在jobs中的编号,再bg Num,你觉得这方法怎样?