У меня есть правило udev, которое вызывает скрипт всякий раз, когда я вставляю определенное USB-устройство. Этот скрипт запускает терминал с помощью следующей команды:
terminator -e "...some_program" & exit
(Возможно, это также был xterm, насколько я могу судить, не имеет значения.)
Когда «some_program» заканчивает делать то, что должен, он выходит (изнутри этой программы, а не из bash), но терминал терминатора остается открытым, если только я Ctrl + C это, в этом случае он закрывается. Но я не хочу Ctrl + C , вот и весь смысл.
У меня есть еще одно правило udev, которое действует при извлечении USB-устройства. Но это правило не сработает, пока терминал, который был открыт из
'insert usb rule' закрывается (хотя я использовал & exit
после запуска скрипта из 'insert usb rule')
У меня больше нет идей, и я искал решение все выше и ниже. Но ничего не помогло.
Я попытался отправить SIGINT изнутри some_program вместо использования exit (1), это не сработало. Программа завершилась, но терминал остался открытым.
Я попытался убить терминал, получив его PID и убив его. Это не сработало.
Я попытался открыть другой терминал и убить PID оттуда, это не сработало.