加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby列表儿童痘痘

发布时间:2020-12-16 21:57:36 所属栏目:百科 来源:网络整理
导读:如何获取从 ruby脚本开始的所有子进程的pid? 解决方法 您可以通过以下方式获取当前流程: Process.pid 详见http://whynotwiki.com/Ruby_/_Process_management. 然后,您可以使用特定于操作的命令来获取子代码.在基于unix的系统上,这将是一些事情 # Creating
如何获取从 ruby脚本开始的所有子进程的pid?

解决方法

您可以通过以下方式获取当前流程:
Process.pid

详见http://whynotwiki.com/Ruby_/_Process_management.

然后,您可以使用特定于操作的命令来获取子代码.在基于unix的系统上,这将是一些事情

# Creating 3 child processes.
IO.popen('uname')
IO.popen('uname')
IO.popen('uname')

# Grabbing the pid.
pid = Process.pid

# Get the child pids.
pipe = IO.popen("ps -ef | grep #{pid}")

child_pids = pipe.readlines.map do |line|
  parts = line.split(/s+/)
  parts[2] if parts[3] == pid.to_s and parts[2] != pipe.pid.to_s
end.compact

# Show the child processes.
puts child_pids

我承认这可能不适用于所有unix系统,因为我相信ps -ef的输出在不同的unix风格上略有不同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读