Должен ли я помещать раздел systemd [Install] в свой файл.path или в свой файл.service?

grepне лучший инструмент для этой работы. Вместо этого используйте find. Например, findв сочетании с командой id -u(, которая выводит ваш числовой uid ):

.
find ~/ ! -uid "$(id -u)"

Отображает все файлы в вашем домашнем каталоге (и всех подкаталогах ), которые вам не принадлежат.

Если вы хотите ограничить его только своим домашним каталогом (без подкаталогов):

find ~/ -maxdepth 1 ! -uid "$(id -u)"

если вы хотите получить более подробную информацию о файлах:

find ~/ -maxdepth 1 ! -uid "$(id -u)" -ls

или

find ~/ -maxdepth 1 ! -uid "$(id -u)" -exec ls -ld {} +

(параметр -dиспользуется здесь с ls, чтобы предотвратить отображение содержимого любых подкаталогов, которые вам не принадлежат)

0
01.09.2020, 14:02
1 ответ

Поместите секцию [Install]в myapp.path. Тогда systemctl enable myapp.path.

Почему бы не войти в myapp.service?

Если поставить секцию [Install]в myapp.service, то служба будет запущена, как только будет поднят multi-user.target. Вы, вероятно, не хотите этого. Вы хотите, чтобы myapp.serviceзапускался только тогда, когда myapp.pathзапускает его.

Почему он должен идти в myapp.path?

myapp.pathзапускает myapp.service. Поэтому myapp.pathнеобходимо запустить, если вы хотите, чтобы он что-то делал. Если вы хотите, чтобы он начал отслеживать этот путь сразу после запуска системы, то решением будет добавление раздела установки.

Почему не работает systemctl enable myapp?

Если вы не укажете расширение, предполагается .service. Поэтому systemctl enable myappидентично systemctl enable myapp.service. Так как в myapp.serviceнет раздела [Install], включить его не удалось. systemctl enable myapp.path— это правильно.

1
18.03.2021, 23:08

Теги

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