我在 cshell 中的命令末尾使用 &,以便将该命令作为独立于终端的进程执行:
kate filename.txt&
我应该如何在 bash 中做到这一点?
答案1
同理。来自bash(1)
:
If a command is terminated by the control operator &, the shell exe- cutes the command in the background in a subshell. The shell does not wait for the command to finish, and the return status is 0.
答案2
使用 & 会使该作业在后台运行,但它仍然与 shell 绑定。
您可能会发现 csh 和带有 & 的 bash 之间的区别在于重定向 STDERR。
在 csh 中:
kate filename.txt >& kateout.log
在bash中:
kate filename.txt > kateout.log 2>&1
如果您希望进程在父 shell/终端关闭后继续运行,请尝试“nohup”,即:
nohup kate filename.txt > kateout.log 2>&1
重定向是可选的;如果有输出,它将转到当前工作目录中的 nohup.out。