Я пытаюсь написать простой bash скрипт, который переключит imwheel
между запущенным и не запущенным.
Следующий код находится в toggle-imwheel.sh
#!/bin/bash
if pgrep imwheel;
then
# imwheel process found
echo "Killing imwheel process"
killall imwheel
else
# imwheel process not found
echo "Starting imwheel process"
imwheel
fi
pgrep
должен возвращать код выхода 0, если он что-то нашел, и код выхода 1, когда ничего не найдено. Однако, похоже, что pgrep находит процессы, которые не существуют. Вот вывод оболочки bash:
mrsiliconguy@swift3:~/.imwheel-scripts$ pgrep imwheel <---- notice that no process is running
mrsiliconguy@swift3:~/.imwheel-scripts$ ./toggle-imwheel.sh
9952 <------ ??????
Killing imwheel process
imwheel: no process found
mrsiliconguy@swift3:~/.imwheel-scripts$ ./toggle-imwheel.sh
9955
Killing imwheel process
imwheel: no process found