nohup命令用于运行程序或者命令,并忽略所有中断信号sighup。sighup是当前控制终端关闭时发送到进程的信号。
通常,当您通过ssh运行命令时,如果连接断开,或者退出ssh,ssh会话将终止在当前tty启动的进程。
如果你不想被某一程序被终止,可以使用nohup命令。它将忽略所有中断信号,启动的命令程序将继续运行。
nohup命令nohup命令的语法形式是nohup command [args]。nohup命令仅接受两个选项--help和--version,除此之外没有任何其它没有任何选项。
nohup python3 -m http.server命令将会在前台启动python的http服务器,并将http服务器进程的标准输出重定向到nohup.out文件。
nohup.out文件创建在当前工作目录中。如果运行nohup命令的用户没有当前工作目录的读写权限,nohup.out文件写到用户的家目录中。
nohup python3 -m http.servernohup: ignoring input and appending output to 'nohup.out'nohup 命令后台运行nohup在前台使用不是很有用,因为在命令完成之前,您将无法在当前tty交互。要使nohup启动的进程在后台运行,请在命令末尾添加&符号。
nohup python3 -m http.server &命令将在后台运行python的http服务器,并在终端上打印作业id和进程id。
当nohup作业进入后台运行后,如果你想将nohup的作业放在前台运行,您可以运行fg命令并指定作业id,让作业在前台运行。
如果由于某种原因需要终止进程,请使用kill命令后跟进程id,例如命令kill -9 68823终止nohup命令启动的进程68823。
nohup python3 -m http.server & kill -9 68823[1] 68823nohup: ignoring input and appending output to 'nohup.out标准错误与标准输出重定向默认情况下,nohup会将标准输出和标准错误重定向到nohup.out文件。如果要将命令标准输出和标准错误重定向到其他文件,可以使用shell的重定向符号>。
例如命令nohup python3 -m http.server > log 2>&1 &将python的http服务器进程标准输出和标准错误重定向到文件http.out并在后台运行。
如果你需要分别重定向标准错误和标准输出到不同文件,可以运行命令nohup python3 -m http.server > access.log 2> error.log &。
命令将会把python的http服务器进程标准输出写入文件access.log,标准错误写入文件error.log。
nohup python3 -m http.server > log 2>&1 &nohup python3 -m http.server > access.log 2> error.log &[1] 71816如果你想知道命令access.log 2> error.log和> log 2>&1有什么不同或者2>&1是什么可以阅读我们的教程标准输入/标准输出/标准错误详解。
重定向标准输出和标准错误/dev/null/dev/null称空设备文件。在类unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据,但报告写入操作成功,读取它则会立即得到一个eof。
我们经常在使用nohup命令启动进程时,将进程的标准输出和标准错误写入空设备文件/dev/null,来抑制所有的消息输出。
例如命令nohup python3 -m http.server > /dev/null 2>&1 &将会标准输出和标准错误都重定向到空设备文件。
nohup python3 -m http.server > /dev/null 2>&1 &[1] 71816结论至此,您应该很好地理解如何使用nohup命令在后台运行进程,以阻止在退出终端时终止进程。了解如何重定向标准错误和标准输出。
供应超声波传感器直径14mm封闭式倒车雷达测距模块深圳市康通科技有限公司技术支持
低功耗物联网认证平台为智能城市奠定转型基础
DS1251,DS1251P全静态非易失RAM
浅谈中国集成电路的发展之路
1MORE真无线降噪耳机值不值得买
如何使用nohup命令在后台运行进程
物联网为中小企业带来的好处
农林小型气象站的特点以及作用,它有哪些应用场合
2019年Q4季度印度手机出货量,小米稳步上升至4290万部排名第一
开发者应该采取哪些方案来应对iOS14.5的新规
智能硬件异军突起,迷雾之中共探出路
单项冠军企业和“小巨人”企业向产业和创新高峰发起“猛攻”
瑞典研发新技术可让WiFi每秒传输2.5TB数据
LoRa模块LoRa1262和LoRa1268的区别是什么
三星Exynos芯片将进军PC市场
如何在远程桌面中使用USB 设备
C语言零基础项目:贪吃蛇!详细思路+源码分享
MEMS产品的封装选择和设计
关于霍尔效应传感器的原理及特点性能介绍
2nm芯片一片多少钱