Как убить респавн процесс с помощью init в linux

Я возрождаюсь / bin / bash на ttyS1 port.ttyS0 - это моя консоль. Запись inittab приведена ниже.

:: respawn: / bin / bash /dev/ttyS1 2> /dev/ttyS1

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

3 ответа

Вы можете убить этот процесс, как другие процессы. Однако init немедленно возрождается - ничего не получилось.

Чтобы отключить процесс, вы должны отредактировать /etc/inittab и закомментировать эту строку. Чтобы сообщить init об этом изменении, вы должны отправить SIGHUP для init: kill -HUP pid-of-init, (Я думаю, что pid-of-init всегда 1).

Если вам требуется, чтобы ваш bash был подключен к ttyS1 в некоторых случаях, вы можете указать определенные уровни запуска, на которых init должен запускать bash.

Надеюсь, этот ответ поможет... (см. man inittab для дополнительной информации)

На моем Ubuntu это то, что работает для меня:

sudo rm -f /etc/init/<proc_name>.conf
sudo initctl stop <proc_name>

Он вернул сообщение:

initctl: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist

но процесс все равно был остановлен без возрождения.

inittab должен быть пересмотрен, иначе он запустит процесс. Удалите ссылку командной строки для обработки в /etc/inittab и выполните:

# init q

или же

# telinit q

Затем вы можете убить процесс, и он не возродится.

Другие вопросы по тегам