systemd считает, что pid вашего демона — 8701, что является pid start-stop-daemon
. PID вашего демона — 8705. Вам нужно установитьType=forking
(под[Service]
)в вашем юнит-файле. Значение по умолчанию — Type=simple
, что предполагает, что процесс не разветвляется.
Однако, почему вы используете это /bin/sh -ec exec /sbin/start-stop-daemon
чудовище? systemd может обрабатывать все, что делает демон start -stop -.
Если точно известно, что последний компонент действительно является именем файла, вы можете использовать awk
для этого:
awk -F'/' -v OFS='/' '{$NF=""}1' file.txt
Это будет использовать /
в качестве разделителя полей для ввода и вывода и установить последнее поле (, то есть имя файла ), в пустую строку. 1
за пределами блока правил указывает awk
напечатать строку, включая все модификации.
В качестве альтернативы используйтеsed
:
sed -E 's|/[^/]+$|/|' file.txt
заменит шаблон «один /
, за которым следуют любые символы, которые являются не косой чертой до конца строки» на /
, тем самым эффективно удаляя последнюю часть пути, что является именем файла.