当前位置: 首页 > 面试题库 >

如何获取后台进程的进程ID?

卫甫
2023-03-14
问题内容

我从shell脚本启动了一个后台进程,我想在脚本结束后终止该进程。

如何从我的shell脚本中获取此过程的PID?据我所知,变量$!包含当前脚本的PID,而不是后台进程。


问题答案:

您需要在启动时保存后台进程的PID:

foo &
FOO_PID=$!
# do other stuff
kill $FOO_PID

您不能使用作业控制,因为它是一种交互式功能,并且与控制终端绑定在一起。脚本完全不必附加终端,因此作业控制不一定可用。



 类似资料:
  • 问题内容: 是否可以从Shell脚本中的父进程ID获取子进程ID? 我有一个要使用Shell脚本执行的文件,这会导致一个新进程 process1 (父进程)。这个 过程1 已经分叉的另一个进程 过程2 (子进程)。使用脚本,我可以使用以下命令获取 process1 的pid : 但我无法获取子进程的pid。 问题答案: 只需使用:

  • 是否可以从外壳脚本中的父进程ID获取子进程ID? 我有一个要使用shell脚本执行的文件,这会导致一个新的进程process1(父进程)。此进程1已经派生了另一个进程process2(子进程)。使用脚本,我可以使用以下命令获得进程1的pid: 但是我无法获取子进程的pid。

  • 问题内容: 我正在服务器上运行一个nohup进程。当我尝试杀死它时,我的油灰控制台会关闭。 这是我尝试查找进程ID的方法: 这是杀死的命令 问题答案: 使用并将任务放在后台时,后台运算符()将在命令提示符下为您提供PID。如果您的计划是手动管理该进程,则可以保存该PID,然后在需要时通过或(如果需要强制终止)将其用于终止该进程。或者,您可以稍后找到PID,然后从那里找到PID。请注意,关键字/命令

  • 问题内容: 我正在尝试制作一个PHP脚本,我已经完成了脚本,但是大约要花10分钟才能完成它打算完成的过程。这不是问题,但是我想我必须一直保持页面加载,这很烦人。我可以使用它来启动该过程,然后在10分钟后再回来查看它生成的日志文件吗? 问题答案: 好吧,您可以使用“ ignore_user_abort(true)” 因此,脚本将继续起作用(注意脚本的持续时间,也许添加“set_time_limit(

  • 问题内容: 我知道我可以像这样获得流程的使用子流程: 但是我只想知道要写入进程的pid,我该 怎么做? 问题答案: 只需写信给:

  • 本文向大家介绍Java如何获取当前进程ID以及所有Java进程的进程ID,包括了Java如何获取当前进程ID以及所有Java进程的进程ID的使用技巧和注意事项,需要的朋友参考一下 首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将进程ID打印出来: 运行结果: ManagementFactory是一个在运行时管理和监控Java VM的工厂类,它能提供很多管理V