【问题标题】:Get PID while process in ruby在 ruby​​ 中处理时获取 PID
【发布时间】:2015-03-13 10:18:24
【问题描述】:

我有一个简单的 ruby​​ 脚本,它执行wget 命令。我需要得到这个(wget)进程的pid

wget = `wget <options>`
pid = `ps aux | grep <options>`

但主要问题是我可以在脚本执行时获取 pid

【问题讨论】:

标签: ruby pid


【解决方案1】:

`cmd` 等待命令完成,但 spawn 应该可以工作:

此方法类似于#system,但它不等待命令完成。

pid = spawn('sleep 3') #=> 45376

# do something while process is running

Process.wait pid # wait for process to finish

【讨论】:

  • 我想知道应用程序异常退出后如何杀死PID进程。对于使用 mpv 播放广播流的 ruby​​-gtk 应用程序,我需要它;现在我有一个僵尸进程。我知道 PID,但我不确定当 ruby​​-gtk 应用程序崩溃时是否有一种优雅的方式来终止 PID。不想在这里使用大的救援条款。
  • @shevy 听起来很有趣,你应该发个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
相关资源
最近更新 更多