YouTube, приостанавливающий сценарий, работает из командной строки, но не из ярлыка

Я хотел приостановить YouTube и попробовал последний подход здесь с помощью kill -SIGSTOP [pid]. Теперь сценарий хорошо работает в терминале, но он не работает, вызвано с помощью сочетания клавиш. Сценарий:

#!/bin/sh
if [ -f /tmp/TimChromepid.RUN ]; then
  mv /tmp/TimChromepid.RUN /tmp/TimChromepid.PSD
  NMR=$(< /tmp/TimChromepid.PSD) 
  kill -SIGSTOP < /tmp/TimChromepid.PSD
else
  NMR=$(< /tmp/TimChromepid.PSD) 
  mv /tmp/TimChromepid.PSD /tmp/TimChromepid.RUN
  kill -SIGCONT $NMR
fi

Я использовал переменный 'NMR' для хранения PID, поскольку, когда я подаю его непосредственно в kill Я получаю эту ошибку:

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

Насколько я могу протестировать, кажется, что это может запустить скрипт, и if- оператор, но это не может считать число из файла, и при этом это не может выполниться kill.

Как я могу зафиксировать это и что продолжается?

0
задан 21 May 2018 в 02:22

1 ответ

Я не думаю, что проблема имеет некоторое отношение, запущен ли скрипт через сочетание клавиш или непосредственно в терминале. Это - скорее ошибка в Вашем if перейдите и сценарий будет поочередно работать и перестанет работать.

В if ответвление Вы записали

kill -SIGSTOP < /tmp/TimChromepid.PSD

что означает: передайте содержание по каналу файла /tmp/TimChromepid.PSD в killstdin. Но kill ничего не читает из stdin, он просто принимает PID как параметр командной строки, который не был дан. Вот почему это сказало Вам о его использовании.

Для фиксации его просто сделайте, когда Вы выполнили else ответвление, т.е. любая замена kill -SIGSTOP < /tmp/TimChromepid.PSD с kill -SIGSTOP $(< /tmp/TimChromepid.PSD) или используйте $NMR:

#!/bin/sh
if [ -f /tmp/TimChromepid.RUN ]; then
    mv /tmp/TimChromepid.RUN /tmp/TimChromepid.PSD
    NMR=$(< /tmp/TimChromepid.PSD) 
    kill -SIGSTOP $NMR
else
    NMR=$(< /tmp/TimChromepid.PSD) 
    mv /tmp/TimChromepid.PSD /tmp/TimChromepid.RUN
    kill -SIGCONT $NMR
fi
1
ответ дан 29 October 2019 в 08:04

Другие вопросы по тегам:

Похожие вопросы: