【发布时间】:2015-10-30 00:29:39
【问题描述】:
我想将命令/脚本的输出输出到变量,但进程被触发在后台运行。我尝试如下,很少有服务器正确运行它,我得到了响应。但在少数情况下,我将 i_res 设为空。
我试图在后台运行它,因为命令有机会进入挂起状态,我不想挂起父脚本。
希望我能尽快得到答复。
#!/bin/ksh
x_cmd="ls -l"
i_res=$(eval $x_cmd 2>&1 &)
k_pid=$(pgrep -P $$ | head -1)
sleep 5
c_errm="$(kill -0 $k_pid 2>&1 )"; c_prs=$?
if [ $c_prs -eq 0 ]; then
c_errm=$(kill -9 $k_pid)
fi
wait $k_pid
echo "Result : $i_res"
【问题讨论】:
标签: shell background-process ksh output-redirect