Shell 脚本中如何使用 & 将进程放到后台运行?

推荐答案

在 Shell 脚本中,可以使用 & 符号将进程放到后台运行。具体用法如下:

例如,如果你想在后台运行一个长时间执行的脚本 long_running_script.sh,可以这样写:

本题详细解读

1. & 符号的作用

& 符号在 Shell 脚本中用于将命令放到后台运行。这意味着命令会在后台异步执行,而不会阻塞当前 Shell 会话。你可以继续在终端中输入其他命令,而不必等待该命令执行完毕。

2. 后台进程的输出

当你在后台运行一个命令时,该命令的输出仍然会显示在终端上。如果你不希望看到这些输出,可以将输出重定向到文件或 /dev/null

3. 后台进程的管理

你可以使用 jobs 命令查看当前 Shell 会话中所有后台运行的进程:

如果你想将后台进程重新带回前台运行,可以使用 fg 命令:

其中 %1jobs 命令列出的后台进程的编号。

4. 后台进程的终止

如果你想终止一个后台进程,可以使用 kill 命令:

或者使用进程的 PID:

5. 后台进程的退出

如果 Shell 会话退出,所有在该会话中启动的后台进程也会被终止。如果你希望后台进程在 Shell 会话退出后继续运行,可以使用 nohup 命令:

这样,即使你关闭了终端,脚本也会继续运行。

纠错
反馈