解决方法
您可以通过以下方式获取当前流程:
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风格上略有不同.
原文地址:https://www.jb51.cc/ruby/266697.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。