У меня есть пользовательская запись службы в systemd на Ubuntu 18.04. Основной исполняемый файл - это скрипт, который создает несколько процессов:
foor@bar:~$ systemctl status XXXXXX.service
● XXXXXX.service - XXXXXX
Loaded: loaded (/etc/systemd/system/XXXXXX.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-11-19 14:18:39 UTC; 25min ago
Process: 4210 ExecStart=/usr/bin/XXXXXX (code=exited, status=0/SUCCESS)
Tasks: 43 (limit: 4915)
CGroup: /system.slice/XXXXXX.service
├─3383 python3 XXXXXX
├─4168 python3 XXXXXX
├─4619 hostapd -B XXXXXX
├─4623 hostapd -B XXXXXX
├─4639 wpa_supplicant XXXXXX
├─4649 wpa_supplicant XXXXXX
├─4659 wpa_supplicant XXXXXX
├─4669 wpa_supplicant XXXXXX
├─4679 wpa_supplicant -B XXXXXX
├─4699 wpa_supplicant -B XXXXXX
├─4709 wpa_supplicant -B XXXXXX
├─4719 wpa_supplicant -B XXXXXX
├─4798 dhcpd XXXXXX
├─4802 XXXXXX
├─4806 XXXXXX
....
файл systemd.service:
[Unit]
Description=XXXXXX
After=network.target
[Service]
User=root
Type=forking
WorkingDirectory=/root/
ExecStart=+XXXXXX
ExecStop=XXXXXX
Restart=on-failure
KillMode=process
TimeoutStartSec=180
[Install]
WantedBy=multi-user.target
Служба имеет образовательные цели, и я хочу скрыть эти процессы от учащихся, чтобы они не могли их видеть, например. ps aux
. Потому что это может дать им некоторый контекст, который нежелателен для задачи.
Я пробовал с mount -o remount,rw,hidepid=2 /proc
но это вызывает проблемы с другими вещами в настройке, поскольку скрывает все процессы. Итак, мне нужно какое-то решение, которое скрывает только перечисленные процессы с systemctl status XXXXXX.service
.