推荐答案
在 Shell 脚本中,可以使用 &
符号将进程放到后台运行。具体用法如下:
command &
例如,如果你想在后台运行一个长时间执行的脚本 long_running_script.sh
,可以这样写:
./long_running_script.sh &
本题详细解读
1. &
符号的作用
&
符号在 Shell 脚本中用于将命令放到后台运行。这意味着命令会在后台异步执行,而不会阻塞当前 Shell 会话。你可以继续在终端中输入其他命令,而不必等待该命令执行完毕。
2. 后台进程的输出
当你在后台运行一个命令时,该命令的输出仍然会显示在终端上。如果你不希望看到这些输出,可以将输出重定向到文件或 /dev/null
:
./long_running_script.sh > output.log 2>&1 &
3. 后台进程的管理
你可以使用 jobs
命令查看当前 Shell 会话中所有后台运行的进程:
jobs
如果你想将后台进程重新带回前台运行,可以使用 fg
命令:
fg %1
其中 %1
是 jobs
命令列出的后台进程的编号。
4. 后台进程的终止
如果你想终止一个后台进程,可以使用 kill
命令:
kill %1
或者使用进程的 PID:
kill <PID>
5. 后台进程的退出
如果 Shell 会话退出,所有在该会话中启动的后台进程也会被终止。如果你希望后台进程在 Shell 会话退出后继续运行,可以使用 nohup
命令:
nohup ./long_running_script.sh &
这样,即使你关闭了终端,脚本也会继续运行。