GNU Kill(1)はいつまでの名前引数を受け入れますか?

GNU Kill(1)はいつまでの名前引数を受け入れますか?

私たちは最近GNU Kill仕様名前を引数として使用し、その名前を持つすべてのプロセスを終了しようとします。、 pkill(1) または Killall の一部の実装と同じです。

まだGNU Killの変更ログが見つかりませんでした。この「機能」はいつ追加されましたか?

答え1

ソースコードを閲覧できます。SavannahのGnu coreutils(またはコンピュータのストレージを複製)、特に表示源泉そして変更ログ公益事業kill。そのような機能はなく、今までにありませんでした。

do {
      intmax_t n = (errno = 0, strtoimax (arg, &endp, 10));
      if (errno == ERANGE || pid != n || arg == endp || *endp)
        {
          error (0, 0, _("%s: invalid process id"), arg);
          status = EXIT_FAILURE;
        }
} while ((arg = *++argv));

これあなたがリンクしたマンページkillコマンドについてユーティリティLinuxコレクション。マニュアルページの日付からわかるように、この機能はかなり古くなっています。多くのLinuxシステムはkillGNU coreutilsまたはプロセスパッケージでは、ほとんどの場合、外部コマンドではなくシェルの組み込みコマンドが表示されます。これらのどれも純粋なコマンド名を引数として渡すことはできません。

関連して、bash、ksh、およびzshでは、すべての作業仕様を引数として渡すことができますkill。ジョブの仕様はaで始まり%、後にジョブ番号またはジョブコマンド名の一部が続くことがあります。

$ jobs
[3] +  Running                 sleep 9999 &
[2] - Stopped                  vim foo
[1]    Running                 xterm &
$ kill %sleep
[3] + Terminated               sleep 9999 &
$ jobs
[2] + Stopped                  vim foo
[1] -  Running                 xterm &

関連情報