В чем разница между параметрами ядра в выходе Sysctl -A и настройки ядра в / boot / config -kernel -версия?

Что-то вроде этого позволит более надежно зафиксировать код выхода вашего процесса.:

родитель.sh

...
java -jar Xyz-port-0.0.1.jar > /dev/null & #optionally discard stdout of java
child=$!
wait $child
exit_status=$?
if [[ "$exit_status" -ne 0 ]]; then
    # handle error
else
    #handle success
fi

Подождите

Обратите внимание, что вызов waitбудет заблокирован на неопределенный срок, поэтому, если вам нужно установить произвольное ограничение на количество времени, которое вы даете команде java, вы можете заменить вызов waitциклом. и некоторые ручные проверки ps, чтобы убедиться, что процесс все еще выполняется. Это позволит вам установить сторожевой таймер и вызвать всех из пула, если процесс зависнет.

Нохуп

Если вам нужно запустить процесс java и обработать его код выхода, не находясь в активном сеансе терминала, вызовите родительский сценарий (выше )с кодом nohup, а не кодом java. Родительский сценарий может быть nohupотредактирован и будет работать в фоновом режиме без управляющего терминала, надежно выполняя отправку электронной почты или очистку.

0
19.06.2020, 19:43
1 ответ

Параметры в /boot/config-...отражают параметры конфигурации, с которыми было собрано ядро; большинство из них нельзя изменить во время выполнения. (Те, которые могут, не могут быть изменены путем редактирования /boot/config-..., но с помощью других средств, таких как sysctl.)

Настройки, показанные в sysctl -a, являются настройками времени выполнения, доступными в /proc/sys; большинство из них можно изменить во время выполнения. Они описаны в документации ядра .

1
18.03.2021, 23:26

Теги

Похожие вопросы