[英]How to run a command in bash script which is not stopped when the script exits?
我有一个BASH脚本运行其他命令,我想让它们运行,以防主脚本停止。 我尝试用&
运行这些命令,但它没有帮助。 难道我做错了什么?
这是正常的:shell的作业控制机制在退出时终止其作业。
至少有两种解决方案:
disown
; at
以后安排你的工作; nohup
命令。 现在,问题是您要对在后台启动的命令的输出做什么:
disown
,你就会失去它; at
,stdout和stderr通过邮件发送给你(但是如果你愿意,你可以重定向stdout / stderr); nohup
,您自己定义输出文件。 尝试'nohup'命令运行COMMAND ,忽略挂断信号
nohup COMMAND &
在命令之前尝试使用nohup(代表没有挂起):
nohup <your command>
默认情况下,它会将命令的stdout转发到名为nohup.out的文件中。
以下是如何执行此操作的示例:
nohup your_command < /dev/null > output.log 2>&1 &
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.