使用&、nohup或screen/tmux可让Linux进程在后台运行,nohup能避免终端关闭时进程终止,输出可重定向至日志文件;通过ps aux结合grep查看进程,kill命令结束指定PID的进程,jobs仅管理当前会话后台任务。

让Linux进程在后台运行,简单来说,就是让它脱离你的当前终端,这样即使你关闭终端窗口,进程也能继续跑着。
解决方案:
最常用的方法是在启动命令后加上
&
my_script.sh
./my_script.sh &
这会立即返回一个进程ID (PID),你可以用这个PID来监控或结束进程。
但这样有一个问题,如果你的脚本需要读取标准输入,或者向标准输出/标准错误输出打印信息,而终端已经关闭,可能会导致一些问题。为了更稳妥,可以使用
nohup
nohup ./my_script.sh > my_script.log 2>&1 &
nohup
> my_script.log
my_script.log
2>&1
my_script.log
还有一个选择是使用
screen
tmux
screen -S my_session ./my_script.sh # 按 Ctrl+a 然后按 d detach 会话 screen -r my_session # 重新 attach 会话
tmux
如何查看正在后台运行的进程?
使用
ps aux
grep
ps aux | grep my_script.sh
输出会显示包含
my_script.sh
如果只想查看当前用户运行的进程,可以使用
ps -u your_username
如何结束后台运行的进程?
知道了PID,就可以用
kill
kill PID
例如,如果
my_script.sh
kill 12345
如果进程没有响应
kill
kill -9 PID
另外,如果进程是用
nohup
jobs
fg %job_number
jobs
nohup
screen/tmux
以上就是Linux怎么让进程在后台运行的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号