Netapp

殺死 -9 不起作用

  • April 14, 2010

我有一個伺服器,上面有 3 個 oracle 實例,文件系統是帶有 netapp 的 nfs。關閉數據庫後,每個數據庫的一個程序長時間不退出。每個 kill -i 都不起作用。我試圖將它捆起來,pfile 它,命令通過錯誤。

iostat 顯示 netapp 伺服器有很多 IO。所以有人說程序正忙於向遠端netapp伺服器寫入數據,在寫入完成之前不會退出。所以需要做的就是等到所有的IO完成。

等待較長時間(約 1.5 小時)後,程序退出。

所以我的問題是:程序如何忽略終止信號?據我所知,如果我們殺死-9,它會立即停止。您是否遇到過這種情況 kill -i 不會立即終止該程序?

TEST7-stdby-phxdbnfs11 $> ps -ef | grep dbw0
甲骨文 1469 25053 0 22:36:53 點/1 0:00 grep dbw0
甲骨文 26795 1 0 21:55:23?0:00 ora_dbw0_TEST7
甲骨文 1051 1 0 4 月 8 日?3958: 51 ora_dbw0_TEST2
甲骨文 471 1 0 08 年 4 月?6391:43 ora_dbw0_TEST1
TEST7-stdby-phxdbnfs11$> 殺死 -9 1051
TEST7-stdby-phxdbnfs11 $> ps -ef | grep dbw0
oracle 1493 25053 0 22:37:07 pts/1 0:00 grep dbw0
甲骨文 26795 1 0 21:55:23?0:00 ora_dbw0_TEST7
甲骨文 1051 1 0 4 月 8 日?3958: 51 ora_dbw0_TEST2
甲骨文 471 1 0 08 年 4 月?6391:43 ora_dbw0_TEST1
TEST7-stdby-phxdbnfs11$> 殺死 -9 471
TEST7-stdby-phxdbnfs11 $> ps -ef | grep dbw0
甲骨文 26795 1 0 21:55:23?0:00 ora_dbw0_TEST7
甲骨文 1051 1 0 4 月 8 日?3958: 51 ora_dbw0_TEST2
甲骨文 471 1 0 08 年 4 月?6391:43 ora_dbw0_TEST1
甲骨文 1495 25053 0 22:37:22 點/1 0:00 grep dbw0
TEST7-stdby-phxdbnfs11 $> ps -ef | grep smon
oracle 1524 25053 0 22:38:02 pts/1 0:00 grep smon
TEST7-stdby-phxdbnfs11 $> ps -ef | grep dbw0
oracle 1526 25053 0 22:38:06 pts/1 0:00 grep dbw0
甲骨文 26795 1 0 21:55:23?0:00 ora_dbw0_TEST7
甲骨文 1051 1 0 4 月 8 日?3958: 51 ora_dbw0_TEST2
甲骨文 471 1 0 08 年 4 月?6391:43 ora_dbw0_TEST1
TEST7-stdby-phxdbnfs11$> 殺死 -9 1051 471 26795
TEST7-stdby-phxdbnfs11 $> ps -ef | grep dbw0
oracle 1528 25053 0 22:38:19 pts/1 0:00 grep dbw0
甲骨文 26795 1 0 21:55:23?0:00 ora_dbw0_TEST7
甲骨文 1051 1 0 4 月 8 日?3958: 51 ora_dbw0_TEST2
甲骨文 471 1 0 08 年 4 月?6391:43 ora_dbw0_TEST1

TEST7-stdby-phxdbnfs11$> truss -p 26795
桁架:意外的系統錯誤:26795

TEST7-stdby-phxdbnfs11$> pfiles 26795
pfiles:意外的系統錯誤:26795

程序只會在“使用者空間”中獲得 KILL 信號(所有信號的行為方式相同)。如果它在核心空間中(例如等待一個 NFS 共享傳遞從文件讀取的數據),它不會得到信號(信號會一直等到程序返回使用者空間,它不會失去)。

大多數 NFSD 對此都有一些選項,如果超時,它可以從讀取失敗狀態返回。這將導致數據失去(與其他選項一樣..),因為並非所有程序都會檢查所有read()結果。

程序不能忽略/取消 KILL 信號,它只是通知,並有機會保存任何必要的數據。

引用自:https://serverfault.com/questions/132353