fra*_*cup 4 linux bash time background stderr
我有一个名为foo的脚本,它运行程序a.exe并将计时统计信息发送到文件time.log
#!/bin/bash
date 1>> time.log
(time ./a.exe) 2>> time.log
Run Code Online (Sandbox Code Playgroud)
如果我在终端的后台运行脚本并保持我的shell打开直到a.exe完成,但是如果我在后台运行脚本并退出终端(a.exe需要很长时间才能运行)
foo &
exit
Run Code Online (Sandbox Code Playgroud)
当我回来时,a.exe已经执行但时间统计信息没有出现在我的日志文件中.有人知道为什么吗?在我关闭父shell之后有没有办法获取时序统计信息?
谢谢
nohup foo &
Run Code Online (Sandbox Code Playgroud)
当你退出shell时,它会向所有子进程发送一个SIGHUP信号,默认情况下会杀死它们.如果您希望进程在父shell退出时继续执行,那么您需要让它忽略SIGHUP.
名称
nohup - 调用一个免于挂断的命令
概要
Run Code Online (Sandbox Code Playgroud)nohup utility [arg ...]描述
所述的nohup实用程序调用命令与它的参数,并且在该时间设置为被忽略信号SIGHUP.如果标准输出是终端,则标准输出将附加到当前目录中的nohup.out文件中.如果标准错误是终端,则它将指向与标准输出相同的位置.
| 归档时间: |
|
| 查看次数: |
10313 次 |
| 最近记录: |