Как я завершаю работу компьютера автоматически, после того, как бот закончит работать от терминала?

Я хотел бы знать, как я могу запланировать завершение работы в своем компьютере после того, как бот закончит работать полностью.

Я запускаю бота в Instagram из своей собственной жилой сети. Это настроено способом, что после того, как все задачи сделаны, это просто прекращает работать.

И я хотел бы, чтобы мой компьютер завершил работу после того, как бот прекращает работать для сохранения энергии. Например, когда бот сделан, что-то как 'Сессия, Законченная', обнаруживается на терминале. Я хотел бы, чтобы компьютер завершил работу после этого.

Я видел вопросы, связанные с этим, но они были согласно потоку или чему-то, и компьютер завершит работу после того, как загрузка завершается.

В этом случае это - просто что-то, что работает в терминале, и я хочу, чтобы компьютер завершил работу, когда та задача полностью сделана.

1
задан 29 March 2019 в 18:23

2 ответа

Один способ сделать это: во-первых, найдите PID (идентификатор процесса) рабочего процесса, с помощью pgrep [name of script, or program].

Затем запишите другой сценарий:

#!/bin/bash
while ps -p $PID; do sleep 1; done ; shutdown -h

$PID замены фактическим идентификатором процесса. То, что делает сценарий: посмотрите, если процесс с идентификатором все еще существует. Если так, спите секунда и посмотрите снова. В противном случае продолжите закрывать систему

Сохраните его (как myscript.sh, скажите), сделайте это исполняемым файлом (chmod +x myscript.sh) и выполненный это с корневым разрешением: sudo myscript.sh. Вы должны базироваться разрешение сделать shutdown команда.

1
ответ дан 3 December 2019 в 07:21

Просто добавьте shutdown к команде с && оператор. && удостоверился бы, что система закрывается, только если команда выходит успешно. Таким образом, необходимо работать

your-command && shutdown
2
ответ дан 3 December 2019 в 07:21

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

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