bash 中 cshell 中的 '&' 的类似物

bash 中 cshell 中的 '&' 的类似物

我在 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。

相关内容