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

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

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


注意 – 注意 –

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


發送取消信號給處理程序

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

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

清除(終止而不清除) 

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

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

 15 TERM

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

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

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


注意 – 注意 –

若您明瞭為何要這麼做的話,您應該只發送一個訊號給一個處理程序。例如,假如您選取登入 shell 並發送清除信號,您會立即登出。有關處理程序和工作控制的進一步資訊,請洽詢您的系統管理人員或參閱下列文件:


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

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

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

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


    提示 –

    相等的 UNIX 指令為:

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

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

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


如果要發送信號給處理程序

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

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

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

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

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


提示 –

相等的 UNIX 指令為: kill -signum_name PID

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


如果要找出處理程序的所有者

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

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

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

如果要顯示處理程序的祖項

  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 傳給除錯程式的指令。