Я использовал команду Xterm -e для запуска шести программ в фоновом режиме в шести X-терминалах в моем скрипте оболочки. Когда я использовал команду PS, я видел 6 процессов Xterm, работающих в фоновом режиме, но я не видел программ. Если я использовал команду Top, я видел программы. Есть ли чистый способ завершить все x-терминалы и программы?
Вот команда xterminal в моем скрипте:
xterm -e "script -c \"program\" outputfile" &
Другая проблема заключается в том, что я пытаюсь захватить вывод программы в файл, но по какой-то причине я могу захватить только часть. Если я избавлюсь от в конце &
, я смогу захватить весь вывод, но я не смогу вернуть управление, так как программа работает как сервер, что означает, что она не завершится, пока я не убью сервер.
решение1
ps
без аргументов/опций отображает только процессы, подключенные к текущему терминалу. Все, что вы запустите в новом, xterm
будет иметь этот xterm
псевдотерминал в качестве своего управляющего терминала.
Обычно можно обойтись без остановки xterm
s, чтобы завершить работающие в них программы.
решение2
Эти три ссылки могут быть интересны:
- pgrep и pkill- Специальная страница Solaris
- Эта страница об управлении процессами окнана U&L
- TheЦепочка процессовв docstore