UNIX СИГНАЛ АВТОСИСУ
У нас есть несколько процессов Java, которые будут запускаться по расписанию на сервере AUTOSYS в разное время. У большинства java-процессов нет оператора выхода, и поэтому мы написали несколько остановочных заданий, как в сценариях оболочки, чтобы убить процесс, выполняющийся в запланированное время остановки. Когда мы завершаем этот процесс, статус задания Autosys устанавливается на Прервано, и, следовательно, мы получаем ошибки без необходимости.
В настоящее время мы используем команду KILL -9 PROCESS_ID, чтобы завершить процесс, который устанавливает для задания autosys значение TE.
Существует ли какая-либо команда UNIX, которая может плавно завершить процесс, чтобы состояние AUTOSYS было изменено на SU (успех)?,
1 ответ
Самое простое, что можно сделать, это обернуть вызов Java в сценарий оболочки, который считывает коды завершения завершения, и при чтении кода завершения, который представляет завершение по сигналу, затем завершается с кодом возврата 0.
например
#!/bin/bash -p
java dothestuff
rc=$?
if [ $rc -eq 130 ]; then
echo "Killed by SIGINT"
exit 0
fi
exit $rc