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

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 等系统级别的工具来管理

你可能感兴趣的:(Linux,linux,运维,服务器,nohup,终端运行)