gpt4 book ai didi

java - 命令: pkill -INT -f '^php test_program.php$' 的疑问

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:19 25 4
gpt4 key购买 nike

问题:命令的每个元素是什么:

pkill -INT -f '^php test_program.php$'

当我在 linux 终端中运行它时?我已经知道该命令会终止名为 test_program.php 的进程,但我不知道该命令的所有不同元素在做什么。请用尽可能简单的术语解释!我是 linux 命令的新手,目前我更喜欢婴儿行话而不是技术行话:)


我的研究:通过在 linux 终端中运行 man pkill,会出现一个手册,其中包含以下 pkill 定义:

  • 根据名称或其他属性发出信号。

这让我相信 pkill 不仅会终止一个进程,而且可以发送许多不同的信号,其中一个信号可能会终止进程。 pkill 命令的结构/概要显示为:pkill [option] pattern

在同一手册的选项列表中,-f, -full 具有以下定义:

  • 模式通常只与进程名称匹配。设置 -f 时,将使用完整的命令行。

我没有完全理解那是什么意思。此外,命令中的 -f 之前有一个 -INT,这让我相信可以将多个选项连接在一起,但是 - INT 手册中没有显示。

命令的其他部分似乎在识别正在运行的程序:'^php test_program.php$',但为什么命令的那部分不只是 ' test_program.php'?开头的 ^php 和结尾的 $ 是做什么用的?

最佳答案

您正在查看正则表达式。此表达式在进程名称中的任意位置查找字符串 test_program.php。因此,如果进程名称类似于

/var/php -runcommand test_program.php

它会找到进程并杀死它。

这也解释了 -f, -full 选项。如果不使用正则表达式,您将必须使用完整的进程名称(前一行)来匹配进程。

最后,-INT 通常用于向任务发送运行级别。

编辑

我错了,-INT 选项不用于运行级别(用于 Linux 内核),而是用于向任务发送信号。这可能类似于 Term(终止)、Stop(关闭)或 Cont(继续进程)。 pkill 默认向进程发送终止信号。

/var/php -runco​​mmand test_program.php 是一个进程的例子。如果您使用命令 ps ax,您将获得所有进程的列表以及执行它们的程序。所以我只是假设 php 解释器位于 /var/php/ 并且 php 文件的执行是一个命令。

关于java - 命令: pkill -INT -f '^php test_program.php$' 的疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37430052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com