Steve Asked: 2017-11-25 08:03:03 +0800 CST2017-11-25 08:03:03 +0800 CST 2017-11-25 08:03:03 +0800 CST 作业控制的“kill”命令与向进程发送信号的“kill”命令相同吗? 772 在 Linux 中,您可以执行以下操作: kill 1(或kill %1) 这意味着“关闭作业编号 1中的进程”。 您可以执行以下操作: kill 1234 这意味着“将SIGTERM信号发送到 PID 1234 的进程”。 这两个kill命令是同一个命令,还是两个不同的命令? linux shell 1 个回答 Voted Best Answer Stephen Kitt 2017-11-25T08:07:56+08:002017-11-25T08:07:56+08:00 我不确定你能做到kill 1(或者更确切地说,你可以尝试,但你不会被允许,除非你的根,然后你会感到惊讶)。1这里总是指 id 为 1 的进程,通常是init(或其中的一些变体)。 要真正回答你的问题,如果你在一个支持作业控制的 shell 中,kill将是一个内置的 shell,处理这两种情况(管理作业和进程)。参见例如Bash 的kill命令。 如果您在不支持作业控制的外壳中(有吗?),kill通常是系统中的二进制文件/bin/kill;参见例如util-linux的kill命令。即使在带有内置kill命令的 shell 中,您也可以通过指定其完整路径来访问它。此kill命令也可以在没有 shell 的情况下访问(用于从另一个程序中使用)。 另请参阅POSIX 的定义kill,它涵盖了这两种情况(但没有指定在哪里实现什么)。
我不确定你能做到
kill 1
(或者更确切地说,你可以尝试,但你不会被允许,除非你的根,然后你会感到惊讶)。1
这里总是指 id 为 1 的进程,通常是init
(或其中的一些变体)。要真正回答你的问题,如果你在一个支持作业控制的 shell 中,
kill
将是一个内置的 shell,处理这两种情况(管理作业和进程)。参见例如Bash 的kill
命令。如果您在不支持作业控制的外壳中(有吗?),
kill
通常是系统中的二进制文件/bin/kill
;参见例如util-linux
的kill
命令。即使在带有内置kill
命令的 shell 中,您也可以通过指定其完整路径来访问它。此kill
命令也可以在没有 shell 的情况下访问(用于从另一个程序中使用)。另请参阅POSIX 的定义
kill
,它涵盖了这两种情况(但没有指定在哪里实现什么)。