UIDの代わりにpkill -U UIDor pkill -u UIDまたはusernameを使用します。動作する場合もskill -u USERNAMEあれば、別のツールがありkillall -u USERNAMEます。
スキルはLinux 固有でしたが、現在は時代遅れであり、pkillはより移植性があります(Linux、Solaris、BSD)。
pkillは、数値とシンボリックの両方のUIDを有効にします(有効で実際のものです)http://man7.org/linux/man-pages/man1/pkill.1.html
pkill-...名前およびその他の属性に基づいたプロセスのシグナル
-u, --euid euid,...
Only match processes whose effective user ID is listed.
Either the numerical or symbolical value may be used.
-U, --uid uid,...
Only match processes whose real user ID is listed. Either the
numerical or symbolical value may be used.
スキルのマニュアルページには、ユーザーIDではなくユーザー名のみを使用できることが記載されています:http : //man7.org/linux/man-pages/man1/skill.1.html
スキル、巧みな...これらのツールは時代遅れで移植性がありません。コマンド構文の定義が不十分です。killall、pkillの使用を検討してください
-u, --user user
The next expression is a username.
killallはLinuxでは時代遅れとしてマークされていませんが、番号UIDでも機能しません。ユーザー名のみ:http : //man7.org/linux/man-pages/man1/killall.1.html
killall-名前でプロセスを強制終了
-u, --user
Kill only processes the specified user owns. Command names
are optional.
Linux / Solarisスタイルの/ proc(procfs)でプロセスを見つけるために使用されるユーティリティは、プロセスの完全なリストを使用します(readdirを実行します/proc)。/procデジタルサブフォルダーを反復処理し、見つかったすべてのプロセスの一致をチェックすると思います。
ユーザーのリストを取得するには、を使用しますgetpwent(呼び出しごとに1人のユーザーを取得します)。
skill(procps&procps-ng)ツールとkillall(psmisc)ツールは両方ともgetpwnamライブラリ呼び出しを使用して-uオプションの引数を解析し、ユーザー名のみが解析されます。pkill(procps&procps-ng)は、atolとgetpwnamの両方を使用して-u / -U引数を解析し、数値とテキストの両方のユーザー指定子を許可します。