Я пытаюсь запустить 2 файла, а именно сценарий python с именем PaperCapture.py и сценарий bash PrinterAutomation. sh одновременно, так как моя задача требует, чтобы они начали одновременно. Сценарий python используется для щелчка по снимкам с помощью камеры, а сценарий bash используется для отправки эхо-сигнала на принтер, чтобы что-то напечатать и передать бумагу.
Я написал другой сценарий bash с именем ScriptStart. sh, который может запускать оба этих сценария одновременно, но когда я нажимаю Ctrl + C или даже пытаюсь завершить процессы, PrinterAutomation. sh Сценарий продолжает работать в фоновом режиме, даже когда терминал закрыт.
Код ScriptStart. sh ниже:
#!/bin/bash
#=============================================================================
# INITIAL SCRIPT FOR STARTING CAMERA & PRINTER SCRIPTS
#=============================================================================
python3 PaperCapture.py & PIDIOS=$!
sudo sh ./PrinterAutomation.sh & PIDMIX=$!
wait $PIDIOS
PID=pidof ./PrinterAutomation.sh
echo $PID
kill -INT $PID
Если кто-то может помочь мне, чтобы понять это, было бы здорово. Все, что мне нужно, - это чтобы оба сценария запускались одновременно, и для PrinterAutomation. sh для остановки работы, когда PaperCapture.py прекратил работу.
============== =========================
ОБНОВЛЕНИЕ:
Удаление pidof и использование sudo kill -INT "$ PIDMIX" завершает выполнение сценариев на переднем плане терминала, но PrinterAutomation. sh все еще продолжает работать в фоновом режиме.
Это было исправлено добавлением строки
trap "kill 0" EXIT
вверху