2010-04-07 64 views
1

比方說,我有15個進程/後臺進程在後臺運行。讓我們假設其中一個過程已經拋棄了核心。進程標識

我怎麼能識別哪個過程已經傾倒了核心。

我正在使用hpux!

回答

0

1)如果進程具有相同的名稱,那麼我認爲您必須從不同的文件夾運行它們。如果一個進程轉儲一個核心,你將會把它放到它的文件夾中。 我不知道你是如何開始他們的。如果您使用&啓動進程,則可以使用$!獲取上次啓動的守護進程的PID,從而將進程的PID保存在其文件夾中。 或者你可以看看你的守護進程在這個文件夾中的日誌,並從那裏得到這個文件夾中進程的PID。

2)如果您運行不同的應用程序,您可以使用file ./core找出應用程序的名稱。

更新時間: 3)剛纔所讀一下:

運行第一coreadm -p core.%p.%f.%t.%n或在您的個人資料將這個命令。 然後,如果某個應用程序內核出現問題,您將看到名爲core.<PID>.<Application-Name>.<Timestamp>.<Server>的核心文件。例如:core.29305.main.1278939422:531259.srv2-rx8

+0

謝謝..你的第二點是我的回答 – Vijay 2010-04-08 15:37:06

+0

更新了我的回答 – 2010-07-12 13:00:02

0

它可以將pid寫入文件名的一部分。我不知道你是怎樣開始你的15個進程的,但是通常存儲這個pid。守護進程通常使用標識實例的東西來創建自己的pid文件。

0

它應該在轉儲過程中生成的索引文件中。 HPUX 10.26(真的老了)保持轉儲:

/var/adm/crash 

您將需要Q4或類似的工具來調查轉儲。要將模式設置爲epronk建議,您需要coreadm。請參考手冊頁:

man coreadm