Используйте crontab для вызова nohup в скрипте

users.users..packages — это то, что я искал.

Я попытаюсь перефразировать вторую часть моего вопроса (, что сделало его довольно запутанным, извините за это)

Предположим, у меня есть что-то вроде:

blah = [ pkgs.hello ];

есть ли функция f, которую я мог бы сделать:

f blah

и это сделало бы package hello присутствующим в системе.

К настоящему времени я понял, что это своего рода противоречие, потому что, если бы оно было, Никс не был свободен от побочных -эффектов. Так что я полагаю, что Крис Стричински прав, есть какой-то внешний инструмент, для которого environment.systemPackages подходит, а бла — нет. Однако я, вероятно, могу реализовать f как

environment.systemPackages ++ blah

или что-то в этом роде (рассматривают образцы кода как псевдокод, а не как синтаксически правильный Nix ).

0
10.05.2020, 16:07
1 ответ

Нет необходимости в nohupпри использовании crontab. Если ваш systemdне настроен на уничтожение всех ваших процессов при выходе из системы, нет взаимодействия между выходом из вашей оболочки и crontabзапущенными процессами (или иным образом ), и nohupне будет иметь никакого полезного влияния на это..

Загляните в свой локальный адрес электронной почты(mailилиmailx)и прочитайте сообщения об ошибках, полученные отcron-или less /var/mail/$USER, если вам нужен ярлык. В качестве альтернативы измените строку crontabна захват stdout и stderr в файл, который вы сможете просмотреть позже

*/30 * * * * /home/user/scripts/keep_alive.sh >ka.log 2>&1

Обычно сценарии не запускаются под cron, потому что вы забыли настроить среду($PATHи т. д. ).

1
28.04.2021, 23:15

Теги

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