Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何停止使用Perl运行的进程?_Linux_Perl_Process - Fatal编程技术网

Linux 如何停止使用Perl运行的进程?

Linux 如何停止使用Perl运行的进程?,linux,perl,process,Linux,Perl,Process,我想写一段Perl代码,结束我的另一个程序在Linux上运行的过程 例如,我执行xxy.py并为其打开一个进程。我想使用Perl来关闭xxy.py的进程。我需要做什么?请参阅和手册页。使用killall按进程名称终止进程。如果必须使用perl。从内部执行系统调用 Perl扩展通常是.pl或.pm,对吗。我认为py代表python 无论如何,您可以在Unix环境中使用以下方法终止指定的程序: system 'killall', 'some_program_name'; 或 如果变量$pid保持程

我想写一段Perl代码,结束我的另一个程序在Linux上运行的过程


例如,我执行xxy.py并为其打开一个进程。我想使用Perl来关闭xxy.py的进程。我需要做什么?

请参阅和手册页。

使用killall按进程名称终止进程。如果必须使用perl。从内部执行系统调用

Perl扩展通常是.pl或.pm,对吗。我认为py代表python

无论如何,您可以在Unix环境中使用以下方法终止指定的程序:

system 'killall', 'some_program_name';


如果变量$pid保持程序的pid。

更好的写入方法是系统“kill”、“-9”、$pid;。这将避免通过shell。此外,您可能应该避免使用-9 SIGKILL,因为它不会给您正在杀死的进程任何清理自身的机会。通常-15更好,你说得对。我将编辑我的帖子以反映这一点。我只是习惯于用9.perl杀死无响应的程序,它有一个kill内置;使用它而不是外部程序…有人能解释一下这里的否定吗?不是一个反对者,但可能是因为只有FreeBSD风格的killall才关心给出的名字。SysV样式的killall更具文字性,它将尝试终止所有进程。或者,考虑到这一点,他们可能只是随机的被否决票所取代……谢谢戴夫。你想得对。我来自freebsd背景。我不知道基尔的工作原理是不一样的。如果我使用linux系统,我肯定会尝试使用killall。听起来是个疯狂的功能。好消息是有人同情我的反对票:
system 'kill', '-15', $pid;