Linux用户登出或者终端关闭后继续运行的方法

发布时间:2023年12月29日

nohup?是一个 POSIX 命令,它的名称来源于“no hang up”的缩写。这个命令的基本用途是运行一个命令,使得该命令在用户登出或者终端关闭后继续运行。nohup?命令通常与后台运行的命令(使用?&?符号)结合使用,以便在终端关闭后继续执行长时间运行的进程。

基本语法:

nohup command [arguments] &

command?是你想要运行的命令,[arguments]?是传递给该命令的任何参数。&?将命令放入后台执行。

例如,如果你在一个 SSH 会话中启动了一个长时间运行的脚本或者服务,并且你不希望在你断开连接时该进程被终止,你可以使用?nohup

示例命令:

nohup python my_script.py &

这将启动?my_script.py?脚本,并且不会在用户登出时中断。

nohup?默认会将标准输出(stdout)和标准错误(stderr)重定向到一个名为?nohup.out?的文件中,除非另外指定。如果你想要将输出重定向到不同的文件,你可以这样做:

nohup python my_script.py > output.log 2>&1 &

在这个例子中,标准输出和标准错误都被重定向到?output.log?文件中。

请注意,使用?nohup?并不阻止进程接收到系统发送的其他信号,比如系统关机时发送的?SIGTERM。为了更精细地控制进程在后台运行的行为,可以使用像?screen?或?tmux?这样的终端复用器,或者考虑将任务编写为系统服务,使用?systemd?或?upstart?等系统级别的工具来管理

文章来源:https://blog.csdn.net/mzl_18353516147/article/details/135289085
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。