Отправить Ctrl-C удаленным процессам, запущенным через subprocess.Popen и ssh

Как мне отправить Ctrl-C для нескольких процессов ssh -t в объектах Popen () ?

У меня есть код Python, который запускает скрипт на удаленном хосте:

# kickoff.py

# i call 'ssh' w/ the '-t' flag so that when i press 'ctrl-c', it get's
# sent to the script on the remote host.  otherwise 'ctrol-c' would just
# kill things on this end, and the script would still be running on the
# remote server
a = subprocess.Popen(['ssh', '-t', 'remote-host', './script.sh', 'a'])
a.communicate()

Это отлично работает, но мне нужно запустить несколько скриптов на удаленном хосте:

# kickoff.py

a = subprocess.Popen(['ssh', '-t', 'remote-host', './script.sh', 'a'])
b = subprocess.Popen(['ssh', '-t', 'remote-host', './script.sh', 'b'])
a.communicate()
b.communicate()

В результате Ctrl-C не убивает все надежно, и мой терминал всегда искажается потом (я должен запустить "сброс"). Итак, как я могу убить оба удаленных сценария, когда главный из них убит?

Примечание: я пытаюсь избежать входа на удаленный хост, ища 'script.sh' в списке процессов и отправляя SIGINT на оба процесса. Я просто хочу иметь возможность нажать Ctrl-C в стартовом скрипте и убить оба удаленных процесса. Менее оптимальное решение может включать детерминированный поиск PID удаленных сценариев, но я не знаю, как это сделать в моей текущей настройке.

Обновление: сценарий, который запускается на удаленном сервере, фактически запускается несколько дочерних процессов, и хотя уничтожение ssh действительно уничтожает исходный удаленный скрипт (возможно, b / c SIGHUP), дочерние задачи не уничтожаются.mostafa @ ubuntu : ~ / oooark $ cmake. Ошибка CMake в CMakeLists.txt: 19 (сообщение): сборки в исходном коде не допускаются. Для ...

Я попытался скомпилировать проект с помощью cmake, но получил следующую ошибку:

mostafa@ubuntu:~/oooark$ cmake .
CMake Error at CMakeLists.txt:19 (message):
  In-source builds are not allowed.  

Например, запустите:

rm CMakeCache.txt
mkdir build
cd build
cmake ..
make
-- Configuring incomplete, errors occurred!

Кто-нибудь может мне помочь?

15
задан user1251007 9 September 2013 в 08:12
поделиться