关于linux:Linux命令后台运行

Linux后盾运行命令有两种形式:

  1. cmd & : 后盾运行,关掉终端会进行运行
  2. 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)。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理