AppleScript или сценарий оболочки способ я. е. grep приложения "статус" после того, как я. е. killall -STOP это - PullRequest
0 голосов
/ 10 ноября 2018

Если я приостановлю приложения на

killall -STOP

это, есть ли способ прочитать это "состояние" для дальнейшего использования? Я хочу написать короткий скрипт, который проверяет, остановлено ли уже приложение, и если это так, запустите его снова с помощью

killall -CONT

и если нет, я хочу сделать паузу.

1 Ответ

0 голосов
/ 12 ноября 2018

Это работает так. С помощью этого скрипта вы можете приостанавливать и отменять программу.

set shellOutput1 to do shell script "PROCESSNAME='<name of the process>'; GREPPID=$(pgrep $PROCESSNAME); if [ -z $GREPPID ]; then echo '1'; else echo '2'; fi; exit 0"

if shellOutput1 contains "2" then

    tell application "Finder"
        set visible of process "<name of the process>" to false
    end tell

end if

set notificationName to "<program name>"

set shellOutput2 to do shell script "PROCESSNAME='<name of the process>'; GREPPID=$(pgrep $PROCESSNAME); if [ -z $GREPPID ]; then echo '3'; exit 0; else PSSTATUS=$(ps -o state= -p $GREPPID); if [ $PSSTATUS == 'T' ]; then killall -CONT $PROCESSNAME; echo '1'; else killall -STOP $PROCESSNAME; echo '2'; fi; fi; exit 0"

if shellOutput2 contains "1" then

    tell application "Finder"
        set visible of process "<name of the process>" to true
    end tell

    display notification notificationName & " wieder gestartet!" sound name "default"

else if shellOutput2 contains "2" then
    display notification notificationName & " angehalten!" sound name "default"
else if shellOutput2 contains "3" then
    display notification notificationName & " läuft nicht!" sound name "default"
end if

return shellOutput2
...