美文网首页
Linux后台执行命令

Linux后台执行命令

作者: w风行者s | 来源:发表于2019-10-25 10:58 被阅读0次

当在终端工作时,可能一个持续运行的作业占住屏幕输出,或终端退出时导致命令结束。为了避免这些问题,可以将这些进程放到后台运行,且不受终端关闭的影响,可使用下面的方法:

nohup command > myout.file 2>&1 &

1 后台执行命令

1.1 命令&

在命令后面加上&实现后台运行(控制台关掉(退出帐户时),作业就会停止运行)

command &

例:python run.py &

1.2 命令nohup

nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)

nohup command &

例:nohup run.py &

2 kill进程

执行后台任务命令后,会返回一个进程号,可通过这个进程号kill掉进程。

kill -9 进程号

3 输出重定向

由于使用前面的命令将任务放到后台运行,因此任务的输出也不打印到屏幕上了,所以需要将输出重定向到文件中,以方便查看输出内容。

  • 将输出重定向到 file(覆盖)
command1 > file1
  • 将输出重定向到 file(追加)
command1 >> file1
  • 将 stdout 和 stderr 合并后重定向到 file
    • 2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.
command1 > file1 2>&1

完整写法:

nohup command >out.file 2>&1 &

4 其他

  • nohup执行python程序时,print无法输出
    • 这是因为python的输出有缓冲,导致nohup.out并不能够马上看到输出
    • python 有个-u参数,使得python不启用缓冲
    • nohup python -u test.py > nohup.out 2>&1 &

相关文章

  • Linux后台执行命令

    当在终端工作时,可能一个持续运行的作业占住屏幕输出,或终端退出时导致命令结束。为了避免这些问题,可以将这些进程放到...

  • 2018-04-03 &, nohup, &&, |和||

    linux后台执行命令:&和nohuplinux中的&&和&,|和||nohup /dev/null 2>&1 含义详解

  • shell脚本后台运行

    1. 使用&符号在后台执行命令 在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如: 2.使...

  • linux 后台执行命令之nohup

    如果直接在终端启动一个程序,那么终端关闭的时候,程序也会被终止,所以要使用nohup让程序后台执行 基本 注: 其...

  • Linux后台执行命令:&和nohup

    当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件...

  • 后台执行的命令,如何转回前台

    如何让命令后台执行 执行命令的时候加上 & ,即 command & 可实现后台执行命令, 执行 command ...

  • Linux后台执行命令:&和nohup

    当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件...

  • linux后台执行命令 &和nohup

    欢迎来我的个人博客:fizzyi 在学习Python的过程中,有几次都遇到程序跑到一半就必须关机的情况,今天跑爬虫...

  • 【转】Linux 后台执行命令:& 和 nohup

    原文链接:https://blog.csdn.net/liuyanfeier/article/details/62...

  • [转载]linux后台执行命令:&和nohup

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:...

网友评论

      本文标题:Linux后台执行命令

      本文链接:https://www.haomeiwen.com/subject/kjhsvctx.html