我有两个我想一个又一次执行的二进制文件,问题是我要执行一分钟。我有以下bash代码:
./file_1
./file_2
,但我不知道如何仅运行一分钟。
这是一种便携式解决方案 - 在后台运行二进制文件,然后在一分钟后杀死它们:
for file in "file_1" "file_2"; do
"./$file" &
file_pid=$!
sleep 60
kill "$file_pid"
done
&
操作员启动了背景作业,而特殊变量$!
包含了最后一个作业的PID。循环是可选的。我们可以使用它来减少重复的代码。
这是使用超时命令
的单线$ timeout 60 binary-1; timeout 60 binary-2
在这种情况下,格式为:
timeout duration command
默认持续时间为几秒钟,或者可以从男人使用1M(1分钟)的情况:
duration is a floating point number followed by an optional unit:
‘s’ for seconds (the default)
‘m’ for minutes
‘h’ for hours
‘d’ for days