एक systemd सेवा का स्थान ज्ञात करें


62

कई अलग-अलग जगह हैं जहां सिस्टमड यूनिट फाइलें रखी जा सकती हैं। क्या सिस्टेम से यह पूछने के लिए एक त्वरित और आसान तरीका है कि उसने सेवा की घोषणा को कहां से पढ़ा है, जिसे सिर्फ सेवा का नाम दिया गया है?

जवाबों:


75

उन इकाइयों के लिए, जिन्हें वास्तविक, स्थिर फ़ाइलों में परिभाषित किया गया है, इसे निम्न में देखा जा सकता है systemctl status:

$ systemctl status halt-local.service
● halt-local.service - /usr/sbin/halt.local Compatibility
   Loaded: loaded (/lib/systemd/system/halt-local.service; static)
   Active: inactive (dead)

लेकिन ऐसी इकाइयाँ हैं जिन्हें फाइलों द्वारा परिभाषित नहीं किया जाता है, जैसे systemd-cronस्थापित के साथ । इनका कोई उपयोगी स्थान नहीं है status:

$ systemctl status cron-jojo-0.timer
● cron-jojo-0.timer - [Cron] "*/10 * * * * ..."
   Loaded: loaded (/var/spool/cron/crontabs/jojo)
   Active: active (waiting) since Mon 2015-05-18 14:53:01 UTC; 9min ago

किसी भी मामले में, हालांकि, FragmentPathक्षेत्र शिक्षित कर रहा है:

$ systemctl show -p FragmentPath cron-daily.service
FragmentPath=/lib/systemd/system/cron-daily.service
$ systemctl show -p FragmentPath cron-jojo-0.service
FragmentPath=/run/systemd/generator/cron-jojo-0.service
$ systemctl show -p FragmentPath halt-local.service
FragmentPath=/lib/systemd/system/halt-local.service
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.