Solaris 一般桌上管理系統環境:使用者指南

在選定的處理程序上執行動作

當您在清單上辨識並選取某個處理程序項目後,您便可以在這個處理程序上執行下列動作:


小心 – 小心 –

若您對以上所說的處理程序涵義有不了解的地方,請詢問您的系統管理人員。


發送取消訊號給處理程序

UNIX 中的清除指令讓使用者能夠發送一個訊號給處理程序。訊號是一個送給處理程序的訊息,用以岔斷處理程序,並引發反應。若是這個處理程序原本的設計就是要對送給它的這類訊息產生反應,它就會產生反應。 不然就會終止。 下表列出幾個常用的訊息數字/名稱及它們的涵義:

 訊號號碼 訊號名稱 意義
 1  HUP 掛斷(經常在登出前使用)
 2  INT 中斷(和終端機階段作業中按下 Control+C 一樣)
 9  KILL

清除(終止而不清除) 

唯有在處理程序所有者或超級使用者(root)發出時才奏效 

這個處理程式無法對此訊號有反應;必須終止 

 15  TERM

清除(在清除後優雅地終止) 

唯有在處理程序所有者或超級使用者(root)發出時才奏效 

這個「清除」功能表項目能讓您發送清除(9)的訊號給某個處理程序,然後很快地將它清除。「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權。「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權。例如您可以發送一個 INT 訊號或 HUP 訊號等等。「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權。 「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權,例如您可以發送一個 INT 訊號或 HUP 訊號等等。「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權。 「訊號」功能表項目能讓您對kill(1)指令所發送的訊號有更大的控制權,例如您可以發送一個 INT 訊號或 HUP 訊號等等。例如您可以傳送一個INT訊號或 HUP訊號等等。


小心 – 小心 –

若您明瞭為何要這麼做的話,您應該只發送一個訊號給一個處理程序。例如,假如您選取登入 shell 並發送清除訊號,您會立即登出。如需程序和工作控制項的進一步資訊,請連絡您的系統管理員或參閱 「Solaris 進階使用者指南」 (Sun Microsystems)。


清除取消一個處理程序(快速取消)

  1. 在「程序管理員」捲動窗格中選取一個處理程序登錄。

  2. 從「處理」功能表中選取「清除」。

    只要您有許可權,「程序管理員」便會清除該處理程序(及它的子程序),否則就會顯示錯誤訊息。有時,處理程序要花幾秒鐘的時間才能終止。要判定處理程序是否已被取消,請看下一次「程序管理員」更新顯示螢幕。如果該處理程序沒有列在其中,即表示已被清除。


    提示 –

    相等的 UNIX 指令為:

    kill -9PID 其中的 PID 是選定處理程序的識別碼。

    您可以藉由重新定義檔案內標記為'Kill’的這個動作,將「清除」功能表項目所指行的指令重新定義成一個不同的指令:

    /usr/dt/appconfig/types/C/sdtprocess.dt


發送訊號給處理程序

  1. 在「程序管理員」捲動窗格中選取一個處理程序登錄。

  2. 從「處理」功能表中選取「訊號」。

    「程序管理員」會顯示對話方塊,要求您指定訊號。您至少必須提供定義於 signal(5) 線上援助頁上 42 個訊號中的其中一個訊號。

  3. 鍵入相關訊號號碼或名稱,然後按一下「確定」。

    「程序管理員」會發出該訊號指令,然後關閉對話方塊。而不會發出告訴您已成功地完成作業的訊息。一般而言,清除處理程序也會同時取消它的子項程序。


提示 –

相等的 UNIX 指令為:清除-signum_name PID

其中的 -signum_name 是訊號號碼或名稱 PID 是選取程序的識別 ID。


尋找處理程序的所有者

  1. 在「程序管理員」捲動窗格中選取一個處理程序登錄。

  2. 從「處理」功能表中選取「尋找所有者」。

    「程序管理員」會開啟「位址管理員」,並要求「位址管理員」搜尋系統卡,找出所選取的處理程序的系統使用者名稱。如需「位址管理員」的詳細資訊,請參閱 第 18章, 位址管理員的使用方法

顯示處理程序的祖項

  1. 在「程序管理員」捲動窗格中選取一個處理程序登錄。

  2. 從「處理」功能表中選取「顯示系譜」。

    「程序管理員」會顯示視窗,裡面包含指定處理程序的程序樹狀。相對於父程序,子程序會以縮排方式列出。

    Graphic

提示 –

相等的 UNIX 指令為:

/usr/proc/bin/ptree PID

其中的 PID 是選取程序的識別 ID。


追蹤子程序

當 UNIX 程序起始一個或一個以上相依的處理程序時,就將它們稱為子程序或子。子程序和父程序有相同的使用者 ID。

  1. 在「程序管理員」捲動窗格中選取一個處理程序登錄。

  2. 從「處理」功能表中選取「追蹤子程序」。

    「程序管理員」會顯示選取處理程序所建立的任何新子程序(以及子程序的子程序,一直下去)建立的記錄。

    您可以使用 Intro (2)線上援助頁中說明的各個錯誤代碼名稱來報告傳回的錯誤。


    提示 –

    相等的 UNIX 指令為:

    truss -fa -texec、fork -s¦CLD,ALRM -p PID

    其中的 PID 是選取程序的識別 ID。


追蹤系統呼叫

處理程序在執行的時候,會呼叫 UNIX 核心程式,也就是呼叫系統。您可以追蹤這些系統呼叫,查看它們對其它處理程序所產生的影響。

  1. 在「程序管理員」捲動窗格中選取一個處理程序項目。

  2. 從「處理」功能表中選取「追蹤系統呼叫」。

    「程序管理員」會顯示對話方塊,要求您輸入選擇性的引數。

  3. 按一下「確定」。

    追蹤輸出的每一行,所報告的不是錯誤、訊號名稱,就是系統呼叫名稱,與它的引數和傳回值。若需進一步的資訊,請參閱truss( 1 )線上援助頁的說明。


提示 –

相等的 UNIX 指令為:

truss -p PID

其中的 PID 是選取程序的識別 ID。


顯示處理程序的堆疊

  1. 在「程序管理員」捲動窗格中選取一個處理程序項目。

  2. 從「處理」功能表中選取「顯示堆疊」。

    「程序管理員」會顯示視窗,裡面包含所選取處理程序的十六進位及符號式的堆疊追蹤。


提示 –

相等的 UNIX 指令為:

/usr/proc/bin/pstack PID

其中的 PID 是選取程序的識別 ID。


除錯處理程序

應用程式的開發者和系統管理人員有時會使用除錯應用程式,例如使用 Sun Workshop 來調查異常的處理程序。「處理」功能表中的「除錯」項目,會啟動您偏好的除錯程式,用在選取的處理程序上。

    使用您偏好的除錯程式來除錯一個處理程序。


提示 –

相等的 UNIX 指令為:

workshop -d command

其中的 workshop 指的是除錯程式的名稱,command 則是需要將處理程序 ID 傳給除錯程式的指令。