Inverse Requsite= dependency / strong Conflicts= в файле модуля systemd

Чтобы получить имя процесса по его pid:

pid=42
ps -o comm= -p $pid

Чтобы получить имена дочерних процессов данного pid (Linux procps):

ps -o comm= --ppid $pid

Чтобы получить имена дочерних процессов данного pid (POSIX):

for cpid in $(ps -eo pid=,ppid= | awk -v pid=$pid '$2==pid{print $1}'); do ps -o comm= -p $cpid; done

Чтобы получить имя родительского процесса данного pid:

ps -o comm= -p $(ps -o ppid= -p $pid)

Чтобы получить имя родительского процесса данного pid (, предполагая, что вы еще не запустили систему инициализации):

ps -o comm= -p $(ps -o ppid= -p $(ps -o ppid= -p $pid))
0
20.01.2020, 07:46
1 ответ

Я сделал это:

вB.service:

[Service]
ExecStartPre=/bin/systemctl stop A.mount

вA.mount:

[Unit]
Requires=B-stopped.service
After=B-stopped.service

вB-stopped.service:

[Service]
Type=oneshot
ExecStart=/bin/sh -c '! systemctl --quiet is-active B'
0
28.04.2021, 23:25

Теги

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