gpt4 book ai didi

linux - 在后台运行 strace

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:14 26 4
gpt4 key购买 nike

我想在后台运行 strace。例如,我在跑

strace -esetsid setsid sleep 123 

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

sleep 123

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

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

谢谢。

最佳答案

试试这个:

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 }'`

(with -w, setsid 等待进程退出 - 并作为其父进程保持; ps --ppid N 用于选择其父进程是 setsid 进程 - 应该只有其中一个 - 或者没有,如果子进程在 shell 开始执行 ps 之前退出。一定要检查这个 - $pid 将为空,然后).

关于linux - 在后台运行 strace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51244646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com