首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在后台运行strace

在后台运行strace
EN

Stack Overflow用户
提问于 2018-07-09 19:36:27
回答 1查看 939关注 0票数 0

我想在背景中发情。例如,我正在运行

代码语言:javascript
运行
复制
strace -esetsid setsid sleep 123 

但是我想继续运行其他东西,直到setsid返回。显然,只需将&附加到

代码语言:javascript
运行
复制
sleep 123

被解释为跟踪命令的一部分。那么,我该如何在后台运行它呢?

我使用strace只是为了获得setsid启动的新会话的pid。如果有比strace更好的方法,我也想知道:)

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 19:57:09

试试这个:

代码语言:javascript
运行
复制
setsid -w sleep 123 &
ppid=$! # get the pid of the setsid command that we just launched
pid=`ps --ppid $ppid --no-headers | awk '{ print $1 }'`

(对于-w,setsid等待进程退出-并作为其父进程继续存在;ps --ppid N用于选择其父进程是setsid进程的进程-应该只有一个进程-如果子进程在shell执行ps之前就退出了,则一个也没有。一定要检查这个-然后$pid将是空的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51244646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档