Я запустил сценарий оболочки на сервере Solaris, это очень сложный сценарий, который будет вызывать некоторые другие сценарии оболочки или Perl, и все выполнение занимает много времени - несколько часов.
Странная вещьесть, он всегда выходит ненормально.Я использую команду «truss» для записи системного вызова процесса оболочки.Это указывает на причину появления сигнала № 15 SIGTERM.Но я понятия не имею, откуда поступает сигнал № 15?Есть ли способ обнаружить сигнал, поступающий от какого процесса?
Информация о моем сервере:
uname -a
SunOS zsups379 5.10 Generic_144488-07 sun4u sparc SUNW,Sun-Fire-880
Кусок вывода фермы (23528 - основной процесс, 25213 - дочерний процесс23528):
25213/2: read(8, "17A6 G8A078A 58E15 P9E 5".., 8192) = 8192
25213/1: Received signal #15, SIGTERM, in lwp_wait() [caught]
23528: Received signal #15, SIGTERM, in waitid() [caught]
25213/2: write(9, " X #85 f @F5 Z88CAFB J\n".., 515) = 515
23528: waitid(P_ALL, 0, 0xFFBFD958, WEXITED|WTRAPPED|WSTOPPED|WCONTINUED) Err#91 ERESTART
25213/1: lwp_wait(2, 0xFFBFD39C) Err#91 ERESTART
25213/1: lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFF7) = 0xFFBFFEFF [0x0000FFFF]
23528: lwp_sigmask(SIG_SETMASK, 0x00004000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
....