使用&符号可在当前终端会话中将进程放入后台运行,但关闭终端时进程通常会因收到sighup信号而终止;2. 使用nohup命令可使进程忽略sighup信号,即使关闭终端或断开ssh连接,进程仍能持续运行,默认输出重定向至nohup.out文件;3. 对于短期或会话内任务,&符号足够使用,而对于需长期运行且不受终端状态影响的任务,应优先选择nohup;4. 若需更复杂的会话管理,可选用screen或tmux等工具,但仅就保障进程在终端关闭后继续运行而言,nohup是最简洁有效的解决方案。
让进程在后台运行,最常用的方法无非是使用
&
nohup
让进程在后台运行,你可以简单地在命令末尾加上
&
my_command &
nohup
nohup my_command &
Ctrl+Z
bg
&
当你敲下
my_script.sh &
这意味着什么呢?简单来说,你的脚本虽然在后台运行,但它仍然是当前终端会话的子进程。一旦你关闭这个终端窗口,或者会话因为网络断开等原因“挂断”(hang up),你的脚本很大概率也会跟着一起“挂掉”。这是因为当会话结束时,操作系统会向其所有子进程发送一个
SIGHUP
&
你可以用
jobs
&
nohup
nohup
SIGHUP
nohup command &
nohup
command
SIGHUP
command
nohup.out
这个重定向非常重要。试想一下,如果你的后台进程还在往一个已经关闭的终端输出内容,那会是什么情况?很可能导致进程卡住或者异常。所以,
nohup
nohup python my_server.py > server.log 2>&1 &
server.log
2>&1
使用
nohup
nohup
到底是用
&
nohup
如果你只是想让一个命令在当前终端的后台跑,你还可能随时用
fg
&
make &
cp -r large_dir /dest &
但如果你的任务是那种需要“不间断”运行的,比如一个Web服务、一个数据处理脚本、一个定时任务的守护进程,或者任何你希望即使你下班关电脑、服务器重启(当然重启后需要其他机制来恢复)也能持续运行的程序,那么
nohup
当然,除了
&
nohup
screen
tmux
nohup
nohup
&
以上就是如何让进程在后台运行 &符号与nohup命令对比的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号