kill -9 не работает из bash скрипта, но работает в консоли

Поскольку у вас все равно есть Ubuntu, вам не нужно устанавливать другой дистрибутив. Иметь в загрузчике запись, которая запускает одну программу вместо обычной сессии. То есть, сделайте загрузчик по умолчанию

linux /vmlinuz root=/dev/sda ro init=/usr/local/sbin/simple-ftp-only

(кроме части init=..., скопируйте то, что уже есть в записи по умолчанию). Вы можете использовать одно из многих мультизагрузочных решений.

Сценарий simple-ftp-only, вероятно, просто настроит сеть (вызовите ifconfig для установки фиксированного IP-адреса, вызовите route, если вам нужно связаться с узлом, не входящим в локальную сеть) и запустит TFTP или FTP-сервер. И, возможно, предложите способ перезагрузки в "настоящую" систему.

Вместо альтернативного init вы можете поместить TFTP-сервер в initramfs. Если вы сделаете это, вам не нужно будет ничего менять в загрузчике, но вместо этого вам нужно будет подправить скрипты initramfs. Основные скрипты находятся в /usr/share/initramfs-tools/scripts; вы можете добавить свои собственные в /etc/initramfs-tools/scripts.

1
16.12.2016, 11:25
1 ответ

TL; DR Мой сценарий убивает сам себя перед тем, как убить процесс Appium.

Проблема заключалась в названии моего скрипта, содержащем appium в названии. Код $ (ps aux | grep 'appium' | awk '{print $ 2}') получает pid / bin / bash, на котором выполняется сценарий /path/to/kill_appiums.sh. А потом кажется, что он убивает скрипт, который должен убивать процесс appium. Тогда некому убить процесс appium, и он остается активным:)

1
27.01.2020, 23:46

Теги

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