На моем компьютере запущено несколько браузеров Chrome с разными профилями. Профили называются «prof1», «prof2» и «prof3». Теперь мне нужно сделать скрипт, который убивает определенный процесс хрома и снова перезапускает его.
Я не могу использовать команду killall, потому что мне нужно указать, какой браузер Chrome я хочу убить, и если я использую команду kill, сценарий завершается после команды kill.
Я пробовал что-то вроде этого:
#!/bin/bash
kill -9 `ps ax | grep -i prof1 | awk '{print $1}'` &
sleep 2
export DISPLAY=:0.0
/usr/bin/chromium-browser --restore-last-session --user-data-dir=/path/to/prof1/ %U &
Этот скрипт работает хорошо, но после команды kill он завершается (с надписью «Убит»), и браузер больше никогда не запускается. Команда kill не имеет «тихой» опции. Нет смысла пытаться 2>&1, потому что вывод «Killed» поступает из терминала, а не из stderr/stdout. Я пробовал "set -e" и многие другие вещи, но безуспешно.
Любая помощь/советы кому-нибудь?
export DISPLAY=:0.0; /usr/bin/chromium-browser --restore-last-session --user-data-dir=/path/to/prof1/ %U &
работает один? - person konsolebox   schedule 28.07.2014ps | grep
, используйтеpgrep
. Я подозреваю, что вы можете найти и убить себя. - person Etan Reisner   schedule 28.07.2014