是否有任何标准手段(bash,corutils等)允许我实现上述目标?特别是,如何在暂停状态下生成进程并获取其pID?
解决方法 像这样写一个包装脚本start-stopped.sh:#!/bin/shkill -Stop $$ # suspend myself # ... until I receive SIGCONTexec $@ # exec argument List@H_403_9@然后称之为:
sudo -u $SOME_USER start-stopped.sh mycommand & # start mycommand in stopped stateMYCOMMAND_PID=$!setup_iptables $MYCOMMAND_PID # use its PID to setup iptablessudo -u $SOME_USER kill -CONT $MYCOMMAND_PID # make mycommand continuewait $MYCOMMAND_PID # wait for its terminationMYCOMMAND_EXIT_STATUS=$? teardown_iptables # remove iptables rulesreport $MYCOMMAND_EXIT_STATUS # report errors,if necessary@H_403_9@然而,这一切都是矫枉过正的.您不需要在挂起状态下生成进程以完成工作.只需创建一个包装器脚本setup_iptables_and_start:
#!/bin/shsetup_iptables $$ # use my own PID to setup iptablesexec sudo -u $SOME_USER $@ # exec'ed command will have same PID@H_403_9@然后称之为
setup_iptables_and_start mycommand || report errorsteardown_iptables@H_403_9@ 总结以上是内存溢出为你收集整理的linux:启动时暂停进程全部内容,希望文章能够帮你解决linux:启动时暂停进程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)