Solaris 共通デスクトップ環境 ユーザーズ・ガイド

終了シグナルをプロセスに送る

UNIX の kill コマンドを使うと、プロセスにシグナルを送ることができます。「シグナル」とは、プロセスを中断して応答を行わせるためにプロセスに送られるメッセージです。送られるタイプの信号にプロセスが応答するようになっていれば、プロセスは応答します。応答するようになっていなければ、プロセスは終了します。次の表に、よく使われるシグナルの番号、名前、および意味をまとめます。

 シグナル番号 シグナル名 意味
 1HUP ハングアップ (ログアウト前に使われる場合が多い)
 2INT 割り込み (端末セッションで [Control]+[C] キーを押した場合と同じ)
 9KILL

終了 (クリーンアップなしに終了する) 

プロセスの所有者またはスーパーユーザ (root) が出した場合にのみ機能する。 

プログラムはこのシグナルに応答できず、終了しなければならない 

 15TERM

終了 (クリーンアップ後に正常終了する) 

プロセスの所有者またはスーパーユーザ (root) が出した場合にのみ機能する 

[強制終了] メニュー項目を使うと、プロセスに KILL シグナルを送ってクイック終了できます。[シグナルを送信] メニュー項目を使うと、kill(1) コマンドで送られるシグナルをさらに制御できます。たとえば、INT シグナルまたは HUP シグナルを送信できます。


注意 – 注意 –

プロセスにシグナルを送るだけにしてください。ただし、ユーザがその意味を理解していることが条件です。たとえば、ログインシェルを選択して KILL シグナルを送ると、突然ログアウトします。プロセスならびにジョブ制御の詳細は、システム管理者に問い合わせるか、『Solaris ユーザーズガイド (上級編)』を参照してください。


プロセスを終了するには (クイック終了)

  1. プロセス・マネージャのスクロール区画でプロセスエントリを選択します。

  2. [プロセス] メニューから [強制終了] を選択します。

    プロセス (およびその子プロセス) が終了します。ただし、ユーザにアクセス権が必要です。アクセス権がない場合は、エラーが表示されます。プロセスの終了に数秒かかる場合もあります。次にプロセス・マネージャでプロセスの表示画面が変更される際にそのプロセスが表示されていなければ、プロセスは終了しています。


    ヒント –

    対応する UNIX コマンドは kill -9 PID です。PID は、選択したプロセスのプロセス ID です。

    次のファイルの「Kill」というラベルのついたアクションを再定義すると、[強制終了] メニュー項目で実行されるコマンドを別のコマンドに再定義できます。

    /usr/dt/appconfig/types/localename/sdtprocess.dt


プロセスにシグナルを送るには

  1. プロセス・マネージャのスクロール区画でプロセスエントリを選択します。

  2. [プロセス] メニューから [シグナルを送信] を選択します。

    ダイアログボックスが表示され、シグナルの指定を求められます。signal(5) のマニュアルページに記載する 42 種類のシグナルから、少なくとも 1 つを指定します。

  3. 対応するシグナル番号または名前を入力し、[了解] をクリックします。

    シグナルコマンドが表示され、ダイアログボックスが閉じます。成功を知らせるメッセージは表示されません。通常、プロセスを終了すると、その子プロセスも終了します。


ヒント –

対応する UNIX コマンドは kill -signum_name PID です。-signum_name はシグナルの番号または名前、PID は選択したプロセスのプロセス ID です。