最直接的方法是使用nohup命令结合&符号,让进程忽略SIGHUP信号并在后台运行,即使终端关闭也能持续执行,同时建议重定向输出到指定日志文件以便追踪。

在Linux环境下,要让一个进程在终端关闭后依然保持运行,最直接且常用的方法就是结合使用
nohup
&
nohup
&
nohup
nohup
其基本用法是:
nohup your_command [args...] &
这里有几个关键点需要说明:
nohup
your_command
your_command [args...]
&
your_command
一个更完善的用法,通常还会涉及到标准输出和标准错误的重定向,因为
nohup
nohup.out
nohup.out
nohup your_command > /path/to/your_log_file.log 2>&1 &
>
2>&1
举个例子,我经常需要跑一些Python脚本来处理数据,可能要跑几个小时甚至几天。我通常会这么启动:
nohup python3 my_data_processor.py --input data.csv > processing_log.txt 2>&1 &
processing_log.txt

在我看来,
nohup
nohup command &
nohup.out
首先,
nohup
nohup.out
nohup.out
我个人更倾向于明确指定日志文件路径和名称,并且统一处理标准输出和标准错误。这通常通过
> /path/to/your_log.log 2>&1
stdout.log
stderr.log
/var/log/my_app/
logs/
my_script_$(date +%Y%m%d%H%M%S).log
logrotate
nohup
所以,与其依赖
nohup.out
nohup

当你把一个进程扔到后台,并且脱离了终端,自然会想知道它是不是还在尽职尽责地跑着,或者万一出问题了,怎么把它揪出来干掉。
检查进程运行状态:
我通常会用
ps
grep
ps aux | grep [你的程序名或关键词]
python3 my_data_processor.py
ps aux | grep my_data_processor.py
grep
ps aux | grep -v grep | grep my_data_processor.py
-v grep
grep
nohup
nohup
ps aux | grep nohup
nohup
1
init
systemd
nohup
ps -ef | grep [你的程序名]
终止进程:
一旦你找到了进程的 PID (Process ID),终止它就相对简单了。
kill [PID]
SIGTERM
kill -9 [PID]
kill [PID]
kill -9
SIGKILL
pkill [你的程序名]
pkill
需要注意的是,通过
nohup
jobs
jobs

其实吧,除了
nohup
使用 screen
tmux
screen
tmux
screen
tmux
screen
screen
screen
your_command
Ctrl+A D
screen -r
将进程作为 systemd
systemd
systemd
systemctl
.service
/etc/systemd/system/
.service
my_app.service
[Unit]
[Service]
[Install]
ExecStart
WorkingDirectory
User
Restart
sudo systemctl daemon-reload
systemd
sudo systemctl enable my_app
sudo systemctl start my_app
sudo systemctl status my_app
使用 disown
disown
nohup
&
nohup
disown
your_command &
jobs
[1]+ Running your_command &
disown
disown -h %1
%1
jobs
disown -h [PID]
在我看来,
nohup
screen
tmux
systemd
以上就是Linux怎么使用nohup命令保持进程运行的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号