Linux 后盾运行命令有两种形式:
- cmd &:后盾运行,关掉终端会进行运行
- nohup cmd &:后盾运行,关掉终端不会进行运行
形式一:cmd &
-
cmd & 实现让命令在后盾运行。但不要将有用户交互的命令放到后盾,这样命令会在后盾期待用户输出。后盾运行的命令也会将后果输入到管制台上,如果不需要的话,能够将其重定向到某个文件中。应用上面的命令能够将规范输入和谬误输入都将被重定向到一个叫做 cmd.out 的文件中:
cmd > cmd.out 2>&1 &
- 执行命令胜利后,会显示一个过程号,能够用它来监控(ps -ef | grep 过程号)或者杀死(kill -9 过程号)过程。
形式二:nohup cmd &
-
应用办法一的时候,当咱们敞开终端,命令就会进行运行。加上 nohup 能够在敞开终端后不进行命令。该命令的个别模式为:
nohup command &
-
默认状况下,该命令的所有输入都被重定向到 nohup.out 文件中。也能够应用上面的命令来指定输入文件为 nohupcmd.out:
nohup command > nohupcmd.out 2>&1 &
- nohup 只有在应用 exit 命令失常退出终端,能力保障命令始终在后盾运行。终端异样退出后盾命令也会进行运行。
其余相干命令:
- ctrl + z:将正在前台执行的命令放到后盾,且让命令处于暂停状态。
- jobs:查看以后有多少在后盾运行的命令,- l 选项可显示所有工作的 PID。
- fg:将后盾命令放回前台运行。
- bg:将嵌套命令放到后盾运行。
fg 和 bg 命令能够用 fg(bg) %jobid 来指定执行命令,%jobid 是通过 jobs 命令查到的后盾正在执行的命令的序号 (不是 pid)。