脚本:
-
& #后台执行。即,该命令后台执行
-
watch -n 3 date & #每3s在后台执行一次date
-
Ctrl + z #后台挂起。即,将当前正在前台执行的命令放到后台,并且处于暂停状态。
-
jobs #查看后台命令。
-
jobs -l #显示所有后台命令的pid、status(stopped/running/Terminated)、command。
-
fg #将后台中的命令调至前台继续运行。
-
fg %jobnumber #(当后台有多个命令时)将后台中命令编号为jobnumber的命令调至前台继续运行。
-
bg #将后台中的暂停命令变成继续执行。
-
bg %jobnumber #(当后台有多个命令时)将后台中命令编号为jobnumber的暂停命令变成继续执行。
-
kill #杀死进程。
-
kill %jobnumber #杀死后台中命令编号为jobnumber的进程。
-
kill pidnumber #杀死pid编号为pidnumber的进程。
-
killall -9 name #杀死进程名为name的进程。
-
Ctrl + c #杀死进程。即,杀死当前正在前台执行的进程。
-
nohup #是不挂起(no hung up)的意思。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
巧用:
想后台执行某一程序,但在运行程序时忘记使用“&”了,又不想重新执行,这时可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。其实,bg==&。
想前台执行某一程序,但在运行程序时多增加“&”了,又不想重新执行,这时可以敲入fg命令,这样程序就在前台继续运行了。
告警:
使用nohup时出现告警信息,nohup: 忽略输入并把输出追加到'nohup.out' 或 nohup: appending output to nohup.out。这是由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。
1.舍弃标准输出,将错误输出到log文件中: nohup ./program >/dev/null 2>log &
2.如果错误信息也不想要的话: nohup ./program >/dev/null 2>&1 &
阅读(965) | 评论(0) | 转发(0) |