ए) क्या प्रणालीगत इकाई को निर्धारित करने का एक तरीका है जो एक विशिष्ट प्रक्रिया (मेरे उदाहरण आउटपुट, प्रक्रिया 2738, पीए डेमॉन) के निर्माण का कारण बना?
ज़रूर। आप चला सकते हैं systemctl status <pid>
और सिस्टमड आपको वह इकाई मिलेगी जिसमें उस पीआईडी है। उदाहरण के लिए, मेरे सिस्टम पर मुझे एक dnsmasq
प्रक्रिया मिलती है :
# ps -fe | grep dnsmasq
nobody 18834 1193 0 Aug25 ? 00:00:10 /usr/sbin/dnsmasq ...
इसे किसने शुरू किया?
# systemctl status 18834
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2015-08-25 11:07:40 EDT; 1 day 21h ago
Main PID: 1193 (NetworkManager)
Memory: 1.1M
CGroup: /system.slice/NetworkManager.service
├─ 1193 /usr/sbin/NetworkManager --no-daemon
├─ 1337 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-wlp3s0....
├─18682 /usr/libexec/nm-openvpn-service
├─18792 /usr/sbin/openvpn --remote ovpn-phx2.redhat.com 443 tcp --nobind --dev redhat --de...
└─18834 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --...
मेरी भी एक pulseaudio
प्रक्रिया है:
# ps -fe | grep pulseaudio
lars 2948 1 0 Aug25 ? 00:06:20 /usr/bin/pulseaudio --start
चल रहा है systemctl status 2948
, मैं देख रहा हूँ:
● session-3.scope - Session 3 of user lars
Loaded: loaded (/run/systemd/system/session-3.scope; static; vendor preset: disabled)
Drop-In: /run/systemd/system/session-3.scope.d
└─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf
Active: active (running) since Tue 2015-08-25 11:09:23 EDT; 1 day 21h ago
CGroup: /user.slice/user-1000.slice/session-3.scope
यह बताता है कि मुझे pulseaudio
मेरे डेस्कटॉप लॉगिन सत्र से शुरू किया गया था, बजाय स्पष्ट रूप से सिस्टमड के।
systemctl
एक है--property
का चयन जो दिखाने के लिए इकाई की संपत्तियों के लिए विकल्प, लेकिन दुर्भाग्य से यह केवल के साथ काम करताshow
नहींstatus
, औरshow
PIDs के साथ काम नहीं करता है। सबसे अच्छा मैं साथ आ सकता है:systemctl status -n0 $PID 2>/dev/null | head -n1 | awk '{print $2}'