bash – 启动并监视shell脚本中的进程以完成
发布时间:2020-12-15 21:05:25 所属栏目:安全 来源:网络整理
导读:我有一个简单的 shell脚本,它也在下面: #!/usr/bin/shecho "starting the process which is a c++ process which does some database action for around 30 minutes"#this below process should be run in the backgroundbinary name arg1 arg2exit 现在我
我有一个简单的
shell脚本,它也在下面:
#!/usr/bin/sh echo "starting the process which is a c++ process which does some database action for around 30 minutes" #this below process should be run in the background <binary name> <arg1> <arg2> exit 现在我想要的是监控和显示过程的状态信息. 有人可以帮帮我吗? 解决方法
你能做的最好的事情就是在你的应用程序中加入某种仪器,
并让它报告处理的工作项目/工作总量方面的实际进展情况. 如果做不到这一点,你确实可以参考物品运行的时间. 这是我过去使用的样本.适用于ksh93和bash. #! /bin/ksh set -u prog_under_test="sleep" args_for_prog=30 max=30 interval=1 n=0 main() { ($prog_under_test $args_for_prog) & pid=$! t0=$SECONDS while is_running $pid; do sleep $interval (( delta_t = SECONDS-t0 )) (( percent=100*delta_t/max )) report_progress $percent done echo } is_running() { (kill -0 ${1:?is_running: missing process ID}) 2>& -; } function report_progress { typeset percent=$1 printf "r%5.1f %% complete (est.) " $(( percent )) } main (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |