Solaris

Solaris SMF:使用自定義信號殺死,或獲取 PID,或防止殺死兒童

  • March 5, 2016

在 Solaris 服務 XML 中

我正在使用 kill 來表示正常關機

<exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />

這很好用,除了它還會殺死子程序,這些子程序大多只是在 SIGTERM 之後死亡。這些中的任何一個都可以

  • 獲取 PID,以便我可以使用exec="kill -SIGUSR1 $PID"
  • 防止將 SIGTERM 發送給孩子。(或至少不是孫子)
  • 使用其他信號

我不希望設置一個單獨的腳本來找出 pid。如果必須,我會這樣做。我寧願從環境變數中獲取它,或者使用內置的 SMF 命令。

exec=":kill -USR1"成功了。沒有SIG.

我在定義method="refresh". jperkin 用他的例子讓我直截了當exec=":kill -HUP",而在 SmartOS 上使用exec=":kill -SIGHUP"導致"/sbin/sh[1]: exec: :kill: not found".

很確定你可以做到exec="kill -SIGUSR1"

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