我想知道管道另一端的pid。如果是 Linux,我可以匹配 idls -l /proc/SELF_PID/fd/0
就像这些命令一样。
[root@host ~]# command1 | command2 &
I've known command2's PID = 5912.
[root@host ~]# ls -l /proc/5912/fd/0
lr-x------ 1 root root 64 Mar 25 18:00 /proc/5912/fd/0 -> pipe:[540748072]
[root@host ~]# ls -l /proc/[0-9]*/fd/1 | grep 'pipe:\[540748072\]'
l-wx------ 1 root root 64 Mar 25 18:01 /proc/5911/fd/1 -> pipe:[540748072]
[root@host ~]# cat /proc/5911/cmdline
vmstat12
Linux 上有更好的方法吗?或者如何进入 BSD 和其他操作系统?
我想知道是否有好的 CPAN 模块...
Thanks.
在 Perl 中,进程可以使用特殊变量 $$ 获取自己的 PID
如果你有一对管道或一个套接字,每个进程可以将自己的 PID 发送到管道或套接字中,以供其他进程读取。
此外,父母通常通过创建孩子的 PID 的系统调用来了解他们的孩子的 PID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)