我在 Ubuntu 18.04 上的 systemd 中有一个自定义服务条目。主要可执行文件是一个创建一些进程的脚本:
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
。