[总结]Linux命令后台运行

命令与用法总结

将要执行指令并后台运行

&

  • 这样做可以使指令在后台运行.
  • 在终端退出或断开远程连接时停止运行.

nohup

  • 在终端退出时不会停止运行.
  • 指令前台运行
  • 当前文件夹生成nohup.out文件,存储指令输出内容

nohup与&搭配使用

  • 应用后台运行,且在关闭终端时指令的运行不会退出
  • 可使用 nohup command >/dev/null 2>&1 & 重定向输出,不生成nohup.out文件.

setsid

  • 应用后台运行,但信息将会在前台输出(前台依然可正常执行其他操作,但会因输出而导致前台显示混乱)
  • 使用setsid时最好执行的命令或脚本没有输出,或进行输出重定向.(因为在我的试验中发现,php脚本会因为有输出而导致无法在终端退出后继续后台执行,而ping命令与shell脚本却没问题)

已运行在前台的指令转为后台

转为后台,会随着终端退出而退出

  1. ctrl+z 暂停
  2. jobs 查看作业ID
  3. bg %n 将ID为n的作业后台继续执行

转为后台,并切不会随着终端退出而退出

  1. ctrl+z 暂停
  2. jobs 查看作业ID
  3. bg 将ID为n的作业后台继续执行
  4. disown %n 使其脱离当前会话,从而不会因终端退出而退出

终极大招:screen

这里这里!!

参考