| ORG.FREEDESKTOP.SYSTEMD1(5) | org.freedesktop.systemd1 | ORG.FREEDESKTOP.SYSTEMD1(5) |
نام (NAME)
org.freedesktop.systemd1 - رابط گذرگاه D-Bus مدیر سیستم systemd
توضیحات (DESCRIPTION)
systemd(1) و دیمنهای کمکی آن تعدادی API را روی D-Bus ارائه میدهند. این صفحه فقط رابطهای مختلف ارائهشده توسط خودِ مدیر سیستم و سرویس را شرح میدهد. این صفحه دیمنهای کمکی را پوشش نمیدهد.
مدیر سرویس تعدادی شیء را روی گذرگاه ارائه میدهد: یک شیء Manager بهعنوان نقطهٔ ورود مرکزی برای کلاینتها، همراه با اشیاء جداگانه برای هر واحد (unit) و برای هر کار (job) در صف. اشیاء واحد یک رابط عمومی Unit و همچنین یک رابط مخصوص به نوع واحد را پیادهسازی میکنند. برای مثال، واحدهای سرویس هر دو رابط org.freedesktop.systemd1.Unit و org.freedesktop.system1.Service را پیادهسازی میکنند. شیء مدیر میتواند اشیاء واحد و کار را فهرست کند یا مستقیماً یک نام واحد یا شناسهٔ کار را به مسیر گذرگاه شیء D-Bus متناظر تبدیل نماید.
ویژگیهایی که مقادیر زمانی را ارائه میدهند، معمولاً روی گذرگاه بر حسب میکروثانیه (μs) کدگذاری میشوند، حتی اگر تنظیمات متناظر آنها در فایلهای واحد بر حسب ثانیه باشد.
پردازهٔ PID 1 از polkit[1] برای مجاز کردن دسترسی پردازههای بدون امتیاز به عملیات دارای امتیاز استفاده میکند. برخی از عملیات (مانند خاموش کردن/راهاندازی مجدد/تعلیق) از طریق رابط D-Bus لاگیندی (logind) نیز در دسترس هستند؛ به org.freedesktop.login1(5) مراجعه کنید.
شیء MANAGER (THE MANAGER OBJECT)
شیء نقطهٔ ورود اصلی روی مسیر شیء ثابت /org/freedesktop/systemd1 در دسترس است:
node /org/freedesktop/systemd1 {
interface org.freedesktop.systemd1.Manager {
methods:
GetUnit(in s name,
out o unit);
GetUnitByPID(in u pid,
out o unit);
GetUnitByInvocationID(in ay invocation_id,
out o unit);
GetUnitByControlGroup(in s cgroup,
out o unit);
GetUnitByPIDFD(in h pidfd,
out o unit,
out s unit_id,
out ay invocation_id);
LoadUnit(in s name,
out o unit);
StartUnit(in s name,
in s mode,
out o job);
StartUnitWithFlags(in s name,
in s mode,
in t flags,
out o job);
StartUnitReplace(in s old_unit,
in s new_unit,
in s mode,
out o job);
StopUnit(in s name,
in s mode,
out o job);
ReloadUnit(in s name,
in s mode,
out o job);
RestartUnit(in s name,
in s mode,
out o job);
TryRestartUnit(in s name,
in s mode,
out o job);
ReloadOrRestartUnit(in s name,
in s mode,
out o job);
ReloadOrTryRestartUnit(in s name,
in s mode,
out o job);
EnqueueUnitJob(in s name,
in s job_type,
in s job_mode,
out u job_id,
out o job_path,
out s unit_id,
out o unit_path,
out s job_type,
out a(uosos) affected_jobs);
KillUnit(in s name,
in s whom,
in i signal);
QueueSignalUnit(in s name,
in s whom,
in i signal,
in i value);
CleanUnit(in s name,
in as mask);
FreezeUnit(in s name);
ThawUnit(in s name);
ResetFailedUnit(in s name);
SetUnitProperties(in s name,
in b runtime,
in a(sv) properties);
BindMountUnit(in s name,
in s source,
in s destination,
in b read_only,
in b mkdir);
MountImageUnit(in s name,
in s source,
in s destination,
in b read_only,
in b mkdir,
in a(ss) options);
RefUnit(in s name);
UnrefUnit(in s name);
StartTransientUnit(in s name,
in s mode,
in a(sv) properties,
in a(sa(sv)) aux,
out o job);
GetUnitProcesses(in s name,
out a(sus) processes);
AttachProcessesToUnit(in s unit_name,
in s subcgroup,
in au pids);
AbandonScope(in s name);
GetJob(in u id,
out o job);
GetJobAfter(in u id,
out a(usssoo) jobs);
GetJobBefore(in u id,
out a(usssoo) jobs);
CancelJob(in u id);
ClearJobs();
ResetFailed();
SetShowStatus(in s mode);
ListUnits(out a(ssssssouso) units);
ListUnitsFiltered(in as states,
out a(ssssssouso) units);
ListUnitsByPatterns(in as states,
in as patterns,
out a(ssssssouso) units);
ListUnitsByNames(in as names,
out a(ssssssouso) units);
ListJobs(out a(usssoo) jobs);
Subscribe();
Unsubscribe();
Dump(out s output);
DumpUnitsMatchingPatterns(in as patterns,
out s output);
DumpByFileDescriptor(out h fd);
DumpUnitsMatchingPatternsByFileDescriptor(in as patterns,
out h fd);
Reload();
@org.freedesktop.DBus.Method.NoReply("true")
Reexecute();
@org.freedesktop.systemd1.Privileged("true")
Exit();
@org.freedesktop.systemd1.Privileged("true")
Reboot();
@org.freedesktop.systemd1.Privileged("true")
SoftReboot(in s new_root);
@org.freedesktop.systemd1.Privileged("true")
PowerOff();
@org.freedesktop.systemd1.Privileged("true")
Halt();
@org.freedesktop.systemd1.Privileged("true")
KExec();
@org.freedesktop.systemd1.Privileged("true")
SwitchRoot(in s new_root,
in s init);
SetEnvironment(in as assignments);
UnsetEnvironment(in as names);
UnsetAndSetEnvironment(in as names,
in as assignments);
EnqueueMarkedJobs(out ao jobs);
ListUnitFiles(out a(ss) unit_files);
ListUnitFilesByPatterns(in as states,
in as patterns,
out a(ss) unit_files);
GetUnitFileState(in s file,
out s state);
EnableUnitFiles(in as files,
in b runtime,
in b force,
out b carries_install_info,
out a(sss) changes);
DisableUnitFiles(in as files,
in b runtime,
out a(sss) changes);
EnableUnitFilesWithFlags(in as files,
in t flags,
out b carries_install_info,
out a(sss) changes);
DisableUnitFilesWithFlags(in as files,
in t flags,
out a(sss) changes);
DisableUnitFilesWithFlagsAndInstallInfo(in as files,
in t flags,
out b carries_install_info,
out a(sss) changes);
ReenableUnitFiles(in as files,
in b runtime,
in b force,
out b carries_install_info,
out a(sss) changes);
LinkUnitFiles(in as files,
in b runtime,
in b force,
out a(sss) changes);
PresetUnitFiles(in as files,
in b runtime,
in b force,
out b carries_install_info,
out a(sss) changes);
PresetUnitFilesWithMode(in as files,
in s mode,
in b runtime,
in b force,
out b carries_install_info,
out a(sss) changes);
MaskUnitFiles(in as files,
in b runtime,
in b force,
out a(sss) changes);
UnmaskUnitFiles(in as files,
in b runtime,
out a(sss) changes);
RevertUnitFiles(in as files,
out a(sss) changes);
SetDefaultTarget(in s name,
in b force,
out a(sss) changes);
GetDefaultTarget(out s name);
PresetAllUnitFiles(in s mode,
in b runtime,
in b force,
out a(sss) changes);
AddDependencyUnitFiles(in as files,
in s target,
in s type,
in b runtime,
in b force,
out a(sss) changes);
GetUnitFileLinks(in s name,
in b runtime,
out as links);
SetExitCode(in y number);
LookupDynamicUserByName(in s name,
out u uid);
LookupDynamicUserByUID(in u uid,
out s name);
GetDynamicUsers(out a(us) users);
DumpUnitFileDescriptorStore(in s name,
out a(suuutuusu) entries);
@org.freedesktop.DBus.Deprecated("true")
StartAuxiliaryScope(in s name,
in ah pidfds,
in t flags,
in a(sv) properties,
out o job);
signals:
UnitNew(s id,
o unit);
UnitRemoved(s id,
o unit);
JobNew(u id,
o job,
s unit);
JobRemoved(u id,
o job,
s unit,
s result);
StartupFinished(t firmware,
t loader,
t kernel,
t initrd,
t userspace,
t total);
UnitFilesChanged();
Reloading(b active);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Version = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Features = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Virtualization = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ConfidentialVirtualization = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Architecture = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Tainted = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t FirmwareTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t FirmwareTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LoaderTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LoaderTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t KernelTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t KernelTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UserspaceTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UserspaceTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t FinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t FinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t ShutdownStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t ShutdownStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t SecurityStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t SecurityStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t SecurityFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t SecurityFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t GeneratorsStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t GeneratorsStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t GeneratorsFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t GeneratorsFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t UnitsLoadTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDSecurityStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDSecurityStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDSecurityFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDSecurityFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDGeneratorsStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDGeneratorsStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDGeneratorsFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDGeneratorsFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDUnitsLoadStartTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDUnitsLoadStartTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDUnitsLoadFinishTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t InitRDUnitsLoadFinishTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite s LogLevel = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite s LogTarget = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NNames = ...;
readonly u NFailedUnits = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NJobs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NInstalledJobs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NFailedJobs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly d Progress = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ConfirmSpawn = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b ShowStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UnitPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s DefaultStandardOutput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s DefaultStandardError = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s WatchdogDevice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t WatchdogLastPingTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t WatchdogLastPingTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite t RuntimeWatchdogUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite t RuntimeWatchdogPreUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite s RuntimeWatchdogPreGovernor = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite t RebootWatchdogUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite t KExecWatchdogUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
@org.freedesktop.systemd1.Privileged("true")
readwrite b ServiceWatchdogs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s SystemState = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly y ExitCode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultTimerAccuracyUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultTimeoutStartUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultTimeoutStopUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultTimeoutAbortUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultDeviceTimeoutUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultRestartUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultStartLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u DefaultStartLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultCPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultBlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultIPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultMemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultTasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitCPU = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitCPUSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitFSIZE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitFSIZESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitDATA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitDATASoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitSTACK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitSTACKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitCORE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitCORESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRSS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRSSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNOFILE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNOFILESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitAS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitASSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNPROC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNPROCSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitMEMLOCK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitMEMLOCKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitLOCKS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitLOCKSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitSIGPENDING = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitSIGPENDINGSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitMSGQUEUE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitMSGQUEUESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNICE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitNICESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRTPRIO = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRTPRIOSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRTTIME = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DefaultLimitRTTIMESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DefaultMemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimerSlackNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s DefaultOOMPolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i DefaultOOMScoreAdjust = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s CtrlAltDelBurstAction = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u SoftRebootsCount = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
};
متدها (Methods)
توجه داشته باشید که بسیاری از متدها دو بار وجود دارند: یک بار روی شیء Manager و یک بار روی اشیاء واحد مربوطه. این کار برای بهینهسازی زمانهای دسترسی است تا متدهایی که متعلق به اشیاء واحد هستند نیازی به فراخوانی با یک مسیر واحد حلشده نداشته باشند، بلکه بتوان آنها را تنها با شناسهٔ واحد نیز فراخوانی کرد.
GetUnit() میتواند برای دریافت مسیر شیء واحد برای یک نام واحد استفاده شود. این متد نام واحد را میگیرد و مسیر شیء را برمیگرداند. اگر واحدی با این نام هنوز بارگذاری نشده باشد، این متد با شکست مواجه میشود.
GetUnitByPID() میتواند برای دریافت مسیر شیء واحدی که یک شناسهٔ پردازه (PID) به آن تعلق دارد، استفاده شود. این متد یک PID یونیکس میگیرد و مسیر شیء را برمیگرداند. مقدار PID باید به یک پردازهٔ سیستمی موجود اشاره داشته باشد. GetUnitByPIDFD() میتواند برای پرسوجو با یک PIDFD لینوکس (ببینید: pidfd_open(2)) به جای PID استفاده شود که امنتر است زیرا PIDهای یونیکس میتوانند مجدداً بازیافت شوند. متد دوم شناسهٔ واحد و شناسهٔ فراخوانی (invocation id) را به همراه مسیر شیء واحد برمیگرداند.
LoadUnit() مشابه GetUnit() است، اما در صورت امکان واحد را از دیسک بارگذاری میکند.
StartUnit() یک کار شروع و احتمالاً کارهای وابسته را در صف قرار میدهد. این متد واحد مورد نظر برای فعالسازی و یک رشتهٔ حالت را بهعنوان آرگومان دریافت میکند. حالت باید یکی از موارد "replace"، "fail"، "isolate"، "ignore-dependencies" یا "ignore-requirements" باشد. اگر "replace" باشد، متد واحد و وابستگیهای آن را شروع میکند و احتمالاً کارهای از پیش در صف قرار گرفته را که با آن تداخل دارند جایگزین مینماید. اگر "fail" باشد، متد واحد و وابستگیهای آن را شروع میکند، اما در صورتی که این کار باعث تغییر در یک کار از پیش در صف شود با شکست مواجه میشود. اگر "isolate" باشد، متد واحد مورد نظر را شروع کرده و تمام واحدهایی را که وابستگی آن نیستند خاتمه میدهد. اگر "ignore-dependencies" باشد، واحد را شروع میکند اما تمام وابستگیهای آن را نادیده میگیرد. اگر "ignore-requirements" باشد، واحد را شروع میکند اما تنها وابستگیهای الزامی را نادیده میگیرد. استفاده از دو گزینهٔ آخر توصیه نمیشود. در پاسخ، در صورت موفقیت، این متد شیء کار تازهایجادشده را که برای فعالسازی ناهمگام در صف قرار گرفته است برمیگرداند. فراخوانندگانی که میخواهند نتیجهٔ عملیات شروع واقعی را پیگیری کنند باید نتیجهٔ این کار را پایش نمایند. این کار میتواند بدون شرایط رقابتی (race-free) با ابتدا اشتراک در سیگنال JobRemoved()، سپس فراخوانی StartUnit() و استفاده از شیء کار بازگرداندهشده برای فیلتر کردن سیگنالهای نامرتبط JobRemoved() تا زمان دریافت سیگنال مورد نظر انجام شود، که در آن زمان حامل نتیجهٔ عملیات شروع خواهد بود.
StartUnitReplace() مشابه StartUnit() است، اما کاری را که برای یک واحد در صف قرار دارد با کاری برای واحدی دیگر جایگزین میکند.
StartUnitWithFlags() مشابه StartUnit() است، اما به فراخواننده اجازه میدهد یک پارامتر اضافی flags را ارسال کند، که در حال حاضر از هیچ پرچمی پشتیبانی نمیکند و برای توسعههای آینده رزرو شده است.
StopUnit() مشابه StartUnit() است، اما به جای شروع، واحد مشخصشده را متوقف میکند. توجه داشته باشید که حالت "isolate" برای این متد نامعتبر است.
ReloadUnit()، RestartUnit()، TryRestartUnit()، ReloadOrRestartUnit() یا ReloadOrTryRestartUnit() میتوانند برای راهاندازی مجدد و/یا بارگذاری مجدد یک واحد استفاده شوند. این متدها آرگومانهای مشابهی با StartUnit() دریافت میکنند. بارگذاری مجدد تنها در صورتی انجام میشود که واحد در حال حاضر در حال اجرا باشد و در غیر این صورت با شکست مواجه میشود. اگر سرویسی که در حال اجرا نیست مجدداً راهاندازی شود، شروع خواهد شد مگر اینکه از گونهٔ "Try" استفاده شود، که در این صورت سرویسی که در حال اجرا نیست تحت تأثیر راهاندازی مجدد قرار نمیگیرد. گونههای "ReloadOrRestart" در صورتی که واحد پشتیبانی کند تلاش به بارگذاری مجدد میکنند و در غیر این صورت از راهاندازی مجدد استفاده مینمایند.
EnqueueMarkedJobs() کارهای بارگذاری مجدد/راهاندازی مجدد را برای واحدهایی که به طور مناسب نشانهگذاری شدهاند ایجاد میکند؛ ویژگی Markers در بالا را ببینید. این معادل فراخوانی TryRestartUnit() یا ReloadOrTryRestartUnit() برای واحدهای نشانهگذاریشده است.
BindMountUnit() میتواند برای اتصال پیوندی (bind mount) فایلها یا دایرکتوریهای جدید به فضای نام اتصالی یک سرویس در حال اجرا استفاده شود. در صورت پشتیبانی توسط هسته، هر اتصال قبلی روی هدف انتخابشده با اتصال جدید جایگزین خواهد شد. در صورت عدم پشتیبانی، اتصال قبلی زیر اتصال جدید قرار میگیرد، اما پینشده و غیرقابل دسترس باقی میماند.
MountImageUnit() میتواند برای سوار کردن ایمیجهای جدید در فضای نام اتصالی یک سرویس در حال اجرا استفاده شود. در صورت پشتیبانی توسط هسته، هر اتصال قبلی روی هدف انتخابشده با اتصال جدید جایگزین خواهد شد. در صورت عدم پشتیبانی، اتصال قبلی زیر اتصال جدید قرار میگیرد، اما پینشده و غیرقابل دسترس باقی میماند.
KillUnit() میتواند برای خاتمه دادن (یعنی ارسال یک سیگنال) به تمام پردازههای یک واحد استفاده شود. این متد نام واحد (name)، یک شمارشگر who و یک شمارهٔ سیگنال (signal) یونیکس برای ارسال را میگیرد. شمارشگر who یکی از مقادیر "main"، "control" یا "all" است. اگر "main" باشد، فقط پردازهٔ اصلی واحد خاتمه مییابد. اگر "control" باشد، فقط پردازهٔ کنترلی واحد خاتمه مییابد. اگر "all" باشد، تمام پردازهها خاتمه مییابند. یک پردازهٔ "control" بهعنوان مثال پردازهای است که از طریق ExecStop= پیکربندی شده و به موازات پردازهٔ دیمن اصلی برای خاموش کردن آن ایجاد میشود.
QueueSignalUnit() مشابه KillUnit() است، اما میتواند برای صفبندی یک سیگنال بلادرنگ POSIX (یعنی SIGRTMIN+... و SIGRTMAX-...) برای پردازه(های) انتخابشده استفاده شود. همان پارامترهای KillUnit() را به همراه یک آرگومان اضافی دریافت میکند: یک عدد صحیح که در مقدار sival_int همراه با سیگنال صفبندیشده ارسال میشود. برای جزئیات به sigqueue(3) مراجعه کنید.
GetJob() مسیر شیء کار را برای یک کار خاص که با شناسهاش مشخص میشود، برمیگرداند.
CancelJob() یک کار خاص مشخصشده با شناسهٔ عددیاش را لغو میکند. این عملیات در متد Cancel() اشیاء Job نیز موجود است (پایینتر را ببینید) و اساساً برای کاهش رفتوبرگشتهای لازم برای اجرای این عملیات وجود دارد. توجه داشته باشید که این کار بر کارهایی که اجرای آنها قبلاً آغاز شده است، تأثیری نخواهد داشت.
ClearJobs() صف کارها را پاکسازی میکند و تمام کارهایی را که هنوز در صف هستند حذف مینماید. توجه داشته باشید که این کار بر کارهایی که اجرای آنها قبلاً آغاز شده است تأثیری ندارد. این متد فقط کارهایی را پاکسازی میکند که در صف قرار دارند و هنوز اجرای آنها آغاز نشده است.
ResetFailedUnit() وضعیت "failed" یک واحد خاص را بازنشانی میکند.
SetShowStatus() نمایش پیامهای وضعیت را در هنگام راهاندازی و خاموش شدن پیکربندی میکند. پارامتر mode میتواند روی هر مقداری که برای پارامتر هستهٔ systemd.show_status معتبر است تنظیم شود. برای اطلاعات بیشتر دربارهٔ systemd.show_status، به systemd(1) مراجعه کنید. پارامتر mode همچنین میتواند روی یک رشتهٔ خالی تنظیم شود. وقتی mode روی یک رشتهٔ خالی تنظیم شود، SetShowStatus() مقدار ShowStatus را به مقدار اولیهٔ خود بازنشانی میکند. میتوانید از SetShowStatus() برای ایجاد سرویسی استفاده کنید که کارهایی شبیه به این را انجام میدهد:
ResetFailed() وضعیت "failed" تمام واحدها را بازنشانی میکند.
ListUnits() آرایهای از تمام واحدهای بارگذاریشدهٔ فعلی را برمیگرداند. توجه داشته باشید که واحدها ممکن است به طور همزمان با چندین نام شناخته شوند، بنابراین ممکن است نامهای واحدهای بارگذاریشده بیشتر از تعداد واحدهای واقعی پشت آنها باشد. این آرایه شامل ساختارهایی با عناصر زیر است:
ListJobs() آرایهای با تمام کارهای در صف فعلی برمیگرداند. آرایهای شامل ساختارهایی با عناصر زیر برمیگرداند:
Subscribe() ارسال اکثر سیگنالهای گذرگاه را فعال میکند. کلاینتهایی که به سیگنالها علاقهمند هستند باید این متد را فراخوانی کنند. سیگنالها تنها در صورتی ارسال میشوند که حداقل یک کلاینت این متد را فراخوانی کرده باشد. Unsubscribe() اشتراک سیگنالی را که Subscribe() پیادهسازی کرده است لغو میکند. نیازی به فراخوانی Unsubscribe() نیست زیرا کلاینتها ردیابی میشوند. به محض اینکه تمام کلاینتهایی که قبلاً درخواست Subscribe() داده بودند، یا اتصال خود را به گذرگاه ببندند یا Unsubscribe() را فراخوانی کنند، سیگنالها دیگر ارسال نخواهند شد.
Dump() یک تخلیهٔ متنی (text dump) از وضعیت داخلی مدیر سرویس را برمیگرداند. این فقط یک رابط اشکالزدایی سطح پایین و دارای امتیاز است. رشتهٔ بازگرداندهشده منحصراً برای خوانده شدن توسط توسعهدهندگان در نظر گرفته شده است و نه به صورت برنامهنویسیشده. هیچ پایداری رابطی برای رشتهٔ بازگرداندهشده تضمین نمیشود و ممکن است فیلدهای جدید در هر زمان اضافه شوند و فیلدهای قدیمی حذف گردند. ساختار کلی ممکن است بین نسخهها به شدت بازآرایی شود. این متد توسط دستور dump از systemd-analyze(1) ارائه میشود. به طور مشابه، DumpUnitsMatchingPatterns() وضعیت داخلی واحدهایی را که نام آنها با الگوهای عمومی مشخصشده در آرگومان patterns تطابق دارد برمیگرداند. متدهای DumpByFileDescriptor()/DumpUnitsMatchingPatternsByFileDescriptor() مشابه Dump()/DumpUnitsMatchingPatterns() هستند، اما دادهها را به صورت سریالشده درون یک توصیفکنندهٔ فایل برمیگردانند (کلاینت باید دادههای متنی را تا رسیدن به EOF از آن بخواند). با توجه به محدودیتهای اندازه در پیامهای D-Bus و اندازهٔ احتمالاً بزرگ رشتههای بازگرداندهشده، DumpByFileDescriptor()/DumpUnitsMatchingPatternsByFileDescriptor() معمولاً رابط ترجیحی هستند، زیرا تضمین میکنند که دادهها میتوانند به طور قابل اطمینان از مدیر سرویس به کلاینت منتقل شوند. البته توجه داشته باشید که هنگام برقراری ارتباط با مدیر سرویس از راه دور کار نمیکنند، زیرا توصیفکنندههای فایل کاملاً محلیِ یک سیستم هستند. تمام متدهای Dump*() برای کاربران بدون امتیاز دارای محدودیت نرخ هستند.
Reload() میتواند برای بارگذاری مجدد تمام فایلهای واحد فراخوانی شود.
Reexecute() میتواند برای اجرای مجدد پردازهٔ اصلی مدیر فراخوانی شود. این متد وضعیت خود را سریالسازی کرده، مجدداً اجرا میشود و وضعیت را دوباره از حالت سریال خارج میکند. این کار برای ارتقاها مفید است و نسخهٔ جامعتری از Reload() میباشد.
Exit() میتواند برای درخواست خروج از مدیر فراخوانی شود. این متد برای مدیر سیستم در دسترس نیست و فقط برای مدیران نشست کاربر کاربرد دارد.
Reboot()، PowerOff()، Halt()، KExec() و SoftReboot() میتوانند برای درخواست راهاندازی مجدد فوری، خاموش کردن، توقف، راهاندازی مجدد مبتنی بر kexec یا راهاندازی مجدد نرم سیستم استفاده شوند. توجه داشته باشید که این کار هیچ سرویسی را خاموش نمیکند و بلافاصله به عملیات بعدی خاموش کردن منتقل میشود. این توابع معمولاً تنها بهعنوان آخرین مرحلهٔ خاموشسازی فراخوانی میشوند و نباید مستقیماً فراخوانی گردند. برای خاموش کردن ماشین، عموماً بهتر است Reboot()، RebootWithFlags() یا PowerOff() را روی شیء مدیر systemd-logind فراخوانی کنید؛ برای اطلاعات بیشتر به org.freedesktop.login1(5) مراجعه نمایید. SoftReboot() آرگومانی را میپذیرد که مسیر سیستم فایل ریشه را برای فعالسازی در چرخهٔ بوت بعدی مشخص میکند. اگر یک رشتهٔ خالی مشخص شود، مسیر /run/nextroot/ در صورت وجود استفاده میشود.
SwitchRoot() میتواند برای انتقال به یک دایرکتوری ریشهٔ جدید استفاده شود. این متد برای استفاده در initrd و همچنین برای انتقال از سیستم میزبان به یک initrd خاموشسازی در نظر گرفته شده است. این متد دو آرگومان دریافت میکند: دایرکتوری ریشهٔ جدید (که باید مشخص شود) و یک مسیر باینری init (که میتواند خالی رها شود، که در این صورت به طور خودکار جستجو میشود). وضعیت مدیر سیستم قبل از انتقال سریالسازی میشود. پس از انتقال، باینری مدیر روی سیستم اصلی فراخوانی شده و جایگزین PID 1 قبلی میشود. سپس تمام وضعیت از حالت سریال خارج خواهد شد.
SetEnvironment() میتواند برای تغییر بلوک متغیرهای محیطی که به تمام پردازههای ایجادشده ارسال میشود، استفاده گردد. این متد یک آرایهٔ رشتهای از انتسابهای متغیرهای محیطی دریافت میکند. هر متغیر محیطی که قبلاً تنظیم شده باشد، بازنویسی خواهد شد.
UnsetEnvironment() میتواند برای لغو تنظیم متغیرهای محیطی استفاده شود. این متد یک آرایهٔ رشتهای از نامهای متغیرهای محیطی دریافت میکند. تمام متغیرهای مشخصشده لغو تنظیم میشوند (در صورتی که قبلاً تنظیم شده باشند) و دیگر به پردازههای ایجادشده ارسال نخواهند شد. این متد برای متغیرهایی که قبلاً تنظیم نشده بودند هیچ اثری ندارد، اما در آن حالت نیز شکست نخواهد خورد.
UnsetAndSetEnvironment() ترکیبی از UnsetEnvironment() و SetEnvironment() است. این متد دو فهرست دریافت میکند. فهرست اول شامل متغیرهایی برای لغو تنظیم است و فهرست دوم شامل انتسابهایی برای تنظیم. اگر متغیری در هر دو فهرست وجود داشته باشد، پس از بازگشت این متد تنظیم خواهد شد، یعنی فهرست تنظیم بر فهرست لغو تنظیم اولویت دارد.
ListUnitFiles() آرایهای از نامهای واحدها و وضعیت فعالسازی آنها را برمیگرداند. توجه داشته باشید که ListUnits() فهرستی از واحدهایی را که در حال حاضر در حافظه بارگذاری شدهاند برمیگرداند، در حالی که ListUnitFiles() فهرستی از فایلهای واحد را که روی دیسک یافت شدهاند برمیگرداند. توجه داشته باشید در حالی که اکثر واحدها مستقیماً از یک فایل واحد با همان نام خوانده میشوند، برخی واحدها متکی به فایل نیستند و برخی فایلها (الگوها) نمیتوانند مستقیماً بهعنوان واحد بارگذاری شوند بلکه باید نمونهسازی گردند.
GetUnitFileState() وضعیت فعالسازی فعلی یک فایل واحد مشخص را برمیگرداند.
EnableUnitFiles() میتواند برای فعالسازی یک یا چند واحد در سیستم استفاده شود (با ایجاد پیوندهای نمادین به آنها در /etc/ یا /run/). این متد فهرستی از فایلهای واحد برای فعالسازی (یا فقط نام فایلها یا مسیرهای مطلق کامل در صورتی که فایلهای واحد خارج از مسیرهای جستجوی معمول واحد قرار داشته باشند) و دو مقدار بولی دریافت میکند: اولی کنترل میکند که آیا واحد فقط برای زمان اجرا فعال شود (true، /run/)، یا به طور پایدار (false، /etc/). دومی کنترل میکند که آیا پیوندهای نمادین اشارهکننده به واحدهای دیگر در صورت نیاز جایگزین شوند یا خیر. این متد یک مقدار بولی و آرایهای از تغییرات انجامشده را برمیگرداند. مقدار بولی نشان میدهد که آیا فایلهای واحد حاوی اطلاعات فعالسازی (یعنی یک بخش [Install]) بودهاند یا خیر. آرایهٔ تغییرات شامل ساختارهایی با سه رشته است: نوع تغییر (یکی از "symlink" یا "unlink")، نام فایل پیوند نمادین و مقصد پیوند نمادین. توجه داشته باشید که اکثر فراخوانیهای بعدی نیز فهرست تغییراتی را با همین قالب برمیگردانند.
به طور مشابه، DisableUnitFiles() یک یا چند واحد را در سیستم غیرفعال میکند، یعنی تمام پیوندهای نمادین به آنها را در /etc/ و /run/ حذف مینماید.
متدهای EnableUnitFilesWithFlags() و DisableUnitFilesWithFlags() گزینهها را به جای مقادیر بولی به صورت پرچم دریافت میکنند تا امکان گسترشپذیری فراهم شود، که به صورت زیر تعریف میشوند:
#define SD_SYSTEMD_UNIT_RUNTIME (UINT64_C(1) << 0) #define SD_SYSTEMD_UNIT_FORCE (UINT64_C(1) << 1) #define SD_SYSTEMD_UNIT_PORTABLE (UINT64_C(1) << 2)
SD_SYSTEMD_UNIT_RUNTIME واحد را فقط برای زمان اجرا فعال یا غیرفعال میکند، SD_SYSTEMD_UNIT_FORCE کنترل میکند که آیا پیوندهای نمادین اشارهکننده به واحدهای دیگر در صورت نیاز جایگزین شوند یا خیر. SD_SYSTEMD_UNIT_PORTABLE پیوندهای نمادین را در /etc/systemd/system.attached و /run/systemd/system.attached اضافه یا حذف میکند.
DisableUnitFilesWithFlagsAndInstallInfo() مشابه DisableUnitFilesWithFlags() است و همان آرگومانها را دریافت میکند، اما یک مقدار بولی برای نشان دادن اینکه آیا فایلهای واحد حاوی اطلاعات فعالسازی هستند یا خیر، مانند EnableUnitFiles() برمیگرداند. تغییرات انجامشده همچنان در یک آرایه بازگردانده میشوند.
به طور مشابه، ReenableUnitFiles() تغییراتی را روی یک یا چند واحد اعمال میکند که از غیرفعال کردن و فعال کردن سریع واحد یکی پس از دیگری به صورت اتمیک حاصل میشود. این متد برای اعمال اطلاعات بهروزشدهٔ [Install] موجود در فایلهای واحد مفید است.
به طور مشابه، LinkUnitFiles() فایلهای واحد را (که خارج از مسیرهای جستجوی معمول واحد قرار دارند) به مسیر جستجوی واحد پیوند میدهد.
به طور مشابه، PresetUnitFiles() یک یا چند فایل واحد را مطابق با خطمشی پیشتنظیم فعال/غیرفعال میکند. برای اطلاعات بیشتر به systemd.preset(5) مراجعه کنید.
به طور مشابه، MaskUnitFiles() فایلهای واحد را ماسک میکند و UnmaskUnitFiles() آنها را از حالت ماسک خارج میسازد.
SetDefaultTarget() پیوند default.target را تغییر میدهد. برای اطلاعات بیشتر به bootup(7) مراجعه کنید.
GetDefaultTarget() نام واحدی را که default.target به آن نام مستعار دارد بازیابی میکند.
SetUnitProperties() میتواند برای اصلاح برخی ویژگیهای واحد در زمان اجرا استفاده شود. همهٔ ویژگیها در زمان اجرا قابل تغییر نیستند، اما بسیاری از تنظیمات مدیریت منابع (عمدتاً موارد فهرستشده در systemd.resource-control(5)) میتوانند تغییر کنند. تغییرات فوراً اعمال شده و برای بوتهای آینده روی دیسک ذخیره میشوند، مگر اینکه runtime برابر با true باشد، که در این صورت تنظیمات فقط تا راهاندازی مجدد بعدی اعمال میشوند. name نام واحدی است که باید اصلاح شود. properties تنظیماتی هستند که باید اعمال شوند، که به صورت آرایهای از جفتهای نام و مقدار ویژگی کدگذاری میشوند. توجه داشته باشید که این یک دیکشنری نیست! همچنین توجه داشته باشید که تنظیم ویژگیهای آرایهای با این متد معمولاً منجر به افزودن به آرایهٔ از پیش پیکربندیشده میشود. برای بازنشانی آرایههای پیکربندیشده، ابتدا ویژگی را روی یک آرایهٔ خالی تنظیم کرده و سپس مقادیر را به آن اضافه کنید.
StartTransientUnit() میتواند برای ایجاد و شروع یک واحد گذرا استفاده شود که به محض عدم اجرا یا عدم ارجاع، یا راهاندازی مجدد سیستم، آزاد خواهد شد. name نام واحد شامل پسوند آن است و باید یکتا باشد. mode همانند StartUnit() است، properties شامل ویژگیهای واحد است که مانند SetUnitProperties() مشخص میشوند. aux در حال حاضر استفاده نمیشود و باید بهعنوان یک آرایهٔ خالی ارسال شود. برای اطلاعات بیشتر در مورد نحوهٔ استفاده از این قابلیت برای اهداف کنترل منابع، به رابط کاربری جدید Control Group[2] مراجعه کنید.
DumpUnitFileDescriptorStore() آرایهای با اطلاعات مربوط به توصیفکنندههای فایل موجود در مخزن توصیفکنندهٔ فایل واحد مشخصشده برمیگرداند. این فراخوانی معادل DumpFileDescriptorStore() روی org.freedesktop.systemd1.Service است. برای جزئیات بیشتر، پایینتر را ببینید.
CleanUnit() دایرکتوریهای پیکربندی، وضعیت، لاگها، حافظهٔ پنهان و دادههای زمان اجرا را حذف میکند و مخزن توصیفکنندههای فایل را برای واحد پاکسازی مینماید، همانطور که در پارامترهای ماسک مشخص شده است. مقادیر ممکن عبارتند از: "configuration"، "state"، "logs"، "cache"، "runtime"، "fdstore" و "all".
سیگنالها (Signals)
توجه داشته باشید که بیشتر سیگنالها تنها پس از فراخوانی Subscribe() توسط حداقل یک کلاینت ارسال میشوند. هنگام اشتراک در این سیگنالها حتماً این متد را فراخوانی کنید!
UnitNew() و UnitRemoved() هر بار که یک واحد جدید بارگذاری یا تخلیه میشود ارسال میگردند. توجه داشته باشید که این ارتباط چندانی با در دسترس بودن یا نبودن واحد روی دیسک ندارد و صرفاً واحدهایی را که در حال حاضر در حافظه بارگذاری شدهاند منعکس میکند. این سیگنالها دو پارامتر دریافت میکنند: نام اولیهٔ واحد و مسیر شیء.
JobNew() و JobRemoved() هر بار که یک کار جدید در صف قرار میگیرد یا از صف خارج میشود ارسال میگردند. هر دو سیگنال شناسهٔ عددی کار، مسیر گذرگاه و نام اولیهٔ واحد برای این کار را بهعنوان آرگومان دریافت میکنند. JobRemoved() همچنین شامل یک رشتهٔ نتیجه است که یکی از مقادیر "done"، "canceled"، "timeout"، "failed"، "dependency" یا "skipped" میباشد. "done" نشاندهندهٔ اجرای موفقیتآمیز یک کار است. "canceled" نشان میدهد که یک کار قبل از پایان اجرا (از طریق CancelJob() در بالا) لغو شده است (البته این لزوماً به این معنی نیست که عملیات کار نیز واقعاً لغو شده است، بالا را ببینید). "timeout" نشان میدهد که مهلت زمانی کار به پایان رسیده است. "failed" نشان میدهد که کار با شکست مواجه شده است. "dependency" نشان میدهد کاری که این کار به آن وابسته بوده با شکست مواجه شده و بنابراین این کار نیز حذف شده است. "skipped" نشان میدهد که یک کار نادیده گرفته شده زیرا با وضعیت فعلی واحد مطابقت نداشته است.
StartupFinished() هنگامی که راهاندازی به پایان میرسد ارسال میشود. این سیگنال حامل شش مقدار بازهٔ زمانی بر حسب میکروثانیه است که هر کدام نشان میدهند چه مقدار از زمان بوت در سفتافزار (در صورت مشخص بودن)، در لودر بوت (در صورت مشخص بودن)، در فاز مقداردهی اولیهٔ هسته، در initrd (در صورت مشخص بودن)، در فضای کاربری و در مجموع صرف شده است. این مقادیر همچنین میتوانند از ویژگیهای FirmwareTimestampMonotonic، LoaderTimestampMonotonic، InitRDTimestampMonotonic، UserspaceTimestampMonotonic و FinishTimestampMonotonic محاسبه شوند (پایینتر را ببینید).
UnitFilesChanged() هر بار که فهرست فایلهای واحد فعال یا ماسکشده روی دیسک تغییر کرده باشد ارسال میشود.
Reloading() بلافاصله قبل از انجام بارگذاری مجدد دیمن (با پارامتر بولی تنظیمشده روی True) و پس از تکمیل بارگذاری مجدد دیمن (با پارامتر بولی تنظیمشده روی False) ارسال میشود. این سیگنال میتواند توسط رابطهای کاربری برای بهینهسازی بهروزرسانیهای UI استفاده شود.
ویژگیها (Properties)
بیشتر ویژگیها صرفاً گزینههای مربوطه در /etc/systemd/system.conf و خط فرمان هسته را منعکس میکنند.
سایر موارد:
Version رشتهٔ نسخهٔ نمونهٔ systemd در حال اجرا را کدگذاری میکند. توجه داشته باشید که رشتهٔ نسخه صرفاً جنبهٔ اطلاعرسانی دارد. نباید تجزیه شود و نمیتوان فرض کرد که نسخه به شیوهٔ خاصی قالببندی شده است. ما این حق را برای خود محفوظ میداریم که طرح نسخهبندی را در هر زمان تغییر دهیم و این رشته بخشی از API عمومی نیست.
Features ویژگیهایی را که برای این ساخت فعال و غیرفعال شدهاند کدگذاری میکند. گزینههای فعال با پیشوند "+" و گزینههای غیرفعال با پیشوند "-" مشخص میشوند.
Tainted پرچمهای آلودگی را به صورت فهرستی جداشده با دونقطه کدگذاری میکند. هنگامی که systemd تشخیص دهد روی سیستمی با یک مشکل خاص در حال اجرا است، پرچم آلودگی مناسب را تنظیم میکند. آلودگیها ممکن است برای کاهش احتمال گزارشهای باگ نادرست استفاده شوند. آلودگیهای زیر در حال حاضر شناخته شدهاند:
"unmerged-usr"
در نسخهٔ 252 اضافه شد.
"unmerged-bin"
در نسخهٔ 256 اضافه شد.
"var-run-bad"
در نسخهٔ 252 اضافه شد.
"cgroupsv1"
در نسخهٔ 252 اضافه شد.
"local-hwclock"
در نسخهٔ 252 اضافه شد.
"support-ended"
در نسخهٔ 252 اضافه شد.
"old-kernel"
در نسخهٔ 252 اضافه شد.
"overflowuid-not-65534", "overflowgid-not-65534"
در نسخهٔ 252 اضافه شد.
"short-uid-range", "short-gid-range"
در نسخهٔ 252 اضافه شد.
FirmwareTimestamp، FirmwareTimestampMonotonic، LoaderTimestamp، LoaderTimestampMonotonic، KernelTimestamp، KernelTimestampMonotonic، InitRDTimestamp، InitRDTimestampMonotonic، UserspaceTimestamp، UserspaceTimestampMonotonic، FinishTimestamp، FinishTimestampMonotonic، ShutdownStartTimestamp و ShutdownStartTimestampMonotonic مهرهای زمانی بر حسب میکروثانیهٔ CLOCK_REALTIME و CLOCK_MONOTONIC را کدگذاری میکنند که به ترتیب در هنگام شروع اجرای سفتافزار، شروع اجرای لودر بوت، شروع اجرای هسته، شروع اجرای initrd، شروع اجرای نمونهٔ اصلی systemd، پایان اجرای تمام کارهای راهاندازی در صف و در نهایت، در هنگام شروع اولیهٔ عملیات خاموشسازی ثبت شدهاند. این مقادیر برای تعیین عملکرد زمان بوت مفید هستند. توجه داشته باشید از آنجا که زمان یکنواخت با راهاندازی هسته آغاز میشود، مهرزمانی KernelTimestampMonotonic همواره 0 خواهد بود و FirmwareTimestampMonotonic و LoaderTimestampMonotonic باید بهعنوان مقادیر منفی خوانده شوند. همچنین، بسته به سفتافزار، لودر بوت یا پیادهسازی initrd مورد استفاده، همهٔ فیلدها همیشه در دسترس نیستند. در این موارد، جفت مهرهای زمانی مربوطه هر دو 0 هستند که نشان میدهد دادهای در دسترس نیست.
UnitsLoadTimestamp و UnitsLoadTimestampMonotonic مهرهای زمانی بر حسب میکروثانیهٔ CLOCK_REALTIME و CLOCK_MONOTONIC را (همانطور که در بالا توضیح داده شد) کدگذاری میکنند. این مهرهای زمانی هر بار که مدیر شروع به بارگذاری فایلهای واحد میکند ثبت میشوند.
به طور مشابه، SecurityStartTimestamp، GeneratorsStartTimestamp و LoadUnitTimestamp (همچنین همتایان یکنواخت و توقف آنها) دادههای عملکردی را برای بارگذاری خطمشیهای امنیتی در هسته (مانند خطمشیهای SELinux، IMA یا SMACK)، برای اجرای ابزارهای مولد و برای بارگذاری فایلهای واحد ارائه میدهند.
NNames تعداد نامهای واحدهای شناختهشدهٔ فعلی را کدگذاری میکند. این تنها شامل نامهای واحدهایی است که در حال حاضر بارگذاری شدهاند و میتواند بیشتر از مقدار واحدهای بارگذاریشدهٔ واقعی باشد زیرا واحدها ممکن است بیش از یک نام داشته باشند.
NJobs تعداد کارهایی را که در حال حاضر در صف هستند کدگذاری میکند.
NInstalledJobs تعداد کل کارهایی را که تاکنون در صف قرار گرفتهاند کدگذاری میکند.
NFailedJobs تعداد کل کارهایی را که تاکنون با شکست مواجه شدهاند کدگذاری میکند.
Progress پیشرفت بوت را بهعنوان یک مقدار ممیز شناور بین 0.0 و 1.0 کدگذاری میکند. این مقدار در اوایل بوت از 0.0 شروع میشود و با پایان بوت به 1.0 میرسد و بر اساس تعداد کارهای اجراشده و در صف استوار است. پس از راهاندازی، این فیلد همواره 1.0 است که نشاندهندهٔ پایان بوت میباشد.
Environment بلوک محیطی ارسالشده به تمام سرویسهای اجراشده را کدگذاری میکند. میتوان آن را با فراخوانیهای گذرگاه مانند SetEnvironment() (بالا را ببینید) تغییر داد.
ShowStatus خطمشی فعلی systemd را برای نمایش پیامهای وضعیت در هنگام راهاندازی و خاموش شدن کدگذاری میکند. مقدار آن میتواند هر مقدار معتبری برای پارامتر هستهٔ systemd.show_status باشد (به systemd(1) مراجعه کنید). میتوان آن را با استفاده از SetShowStatus() (بالا را ببینید) تغییر داد.
UnitPath مسیر جستجوی فایلهای واحدِ فعالِ فعلی را کدگذاری میکند. این یک آرایه از مسیرهای سیستم فایل است که به صورت رشته کدگذاری شدهاند.
SoftRebootsCount تعداد راهاندازیهای مجدد نرم را که از زمان آخرین بوت کامل با موفقیت انجام شدهاند کدگذاری میکند. از "0" شروع میشود.
Virtualization حاوی یک رشته شناسهٔ کوتاه است که فناوری مجازیسازی را که سیستم در آن اجرا میشود توصیف میکند. روی سختافزار واقعی این یک رشتهٔ خالی است. در غیر این صورت، حاوی شناسهای مانند "kvm"، "vmware" و غیره است. برای فهرست کامل شناسهها به systemd-detect-virt(1) مراجعه کنید. توجه داشته باشید که تنها «درونیترین» فناوری مجازیسازی در اینجا ارائه میشود. این هم مجازیسازیهای کامل ماشین (VMها) و هم مجازیسازی هستهٔ مشترک (کانتینرها) را شناسایی میکند.
ConfidentialVirtualization حاوی یک رشته شناسهٔ کوتاه است که فناوری مجازیسازی محرمانه را که سیستم در آن اجرا میشود توصیف میکند. روی سختافزار واقعی این یک رشتهٔ خالی است. در غیر این صورت، حاوی شناسهای مانند "sev"، "sev-es"، "sev-snp"، "tdx" و غیره است. برای فهرست کامل شناسهها به systemd-detect-virt(1) مراجعه کنید.
Architecture حاوی یک رشته شناسهٔ کوتاه است که معماری مورد استفادهٔ نمونهٔ systemd را توصیف میکند. این ویژگی از همان واژگان ConditionArchitectures= پیروی میکند.
ControlGroup حاوی مسیر ریشهٔ گروه کنترلی (cgroup) این مدیر سیستم است. توجه داشته باشید که مسیر ریشه در اینجا به صورت رشتهٔ خالی کدگذاری شده است (نه به صورت "/"!)، تا بتوان آن را به راحتی به /sys/fs/cgroup/systemd پیوست کرد. این مقدار برای نمونهٔ میزبان روی رشتهٔ خالی و برای نمونههای کانتینر روی رشتهای دیگر تنظیم میشود.
AccessSELinuxContext حاوی بافتار SELinux است که برای کنترل دسترسی به واحد استفاده میشود. این ویژگی هنگام بارگذاری فایل واحد خوانده شده و تا زمان بارگذاری مجدد مدیر سرویس کش میشود. اگر از SELinux استفاده نشود یا برچسبی خوانده نشود (برای مثال به دلیل اینکه واحد متکی به فایلی روی دیسک نیست)، این ویژگی حاوی یک رشتهٔ خالی خواهد بود.
SystemState حاوی وضعیت فعلی مدیر سیستم است. مقادیر ممکن عبارتند از:
"initializing"
"starting"
"running"
"degraded"
"maintenance"
"stopping"
امنیت (Security)
دسترسی خواندن به طور کلی به تمام کلاینتها داده میشود. علاوه بر این، برای کلاینتهای بدون امتیاز، برخی عملیات از طریق سیستم امتیازدهی polkit مجاز است. عملیاتی که وضعیت واحد را تغییر میدهند (StartUnit()، StopUnit()، KillUnit()، QueueSignalUnit()، RestartUnit() و موارد مشابه، SetProperty()) نیازمند org.freedesktop.systemd1.manage-units هستند. عملیاتی که وضعیت فعالسازی فایل واحد را تغییر میدهند (EnableUnitFiles()، DisableUnitFiles()، EnableUnitFilesWithFlags()، DisableUnitFilesWithFlags()، ReenableUnitFiles()، LinkUnitFiles()، PresetUnitFiles()، MaskUnitFiles() و موارد مشابه) نیازمند org.freedesktop.systemd1.manage-unit-files هستند. عملیاتی که محیط صادرشده را تغییر میدهند (SetEnvironment()، UnsetEnvironment()، UnsetAndSetEnvironment()) نیازمند org.freedesktop.systemd1.set-environment هستند. Reload() و Reexecute() نیازمند org.freedesktop.systemd1.reload-daemon هستند. عملیاتی که وضعیت داخلی را تخلیه میکنند نیازمند org.freedesktop.systemd1.bypass-dump-ratelimit هستند تا از محدودیتهای نرخ جلوگیری شود.
اشیاء UNIT (UNIT OBJECTS)
node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
interface org.freedesktop.systemd1.Unit {
methods:
Start(in s mode,
out o job);
Stop(in s mode,
out o job);
Reload(in s mode,
out o job);
Restart(in s mode,
out o job);
TryRestart(in s mode,
out o job);
ReloadOrRestart(in s mode,
out o job);
ReloadOrTryRestart(in s mode,
out o job);
EnqueueJob(in s job_type,
in s job_mode,
out u job_id,
out o job_path,
out s unit_id,
out o unit_path,
out s job_type,
out a(uosos) affected_jobs);
Kill(in s whom,
in i signal);
QueueSignal(in s whom,
in i signal,
in i value);
ResetFailed();
SetProperties(in b runtime,
in a(sv) properties);
Ref();
Unref();
Clean(in as mask);
Freeze();
Thaw();
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Id = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Names = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Following = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Requires = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Requisite = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Wants = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as BindsTo = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PartOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Upholds = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RequiredBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RequisiteOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as WantedBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as BoundBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UpheldBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConsistsOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Conflicts = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConflictedBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Before = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as After = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as OnSuccess = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as OnSuccessOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as OnFailure = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as OnFailureOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Triggers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as TriggeredBy = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PropagatesReloadTo = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReloadPropagatedFrom = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PropagatesStopTo = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as StopPropagatedFrom = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as JoinsNamespaceOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SliceOf = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RequiresMountsFor = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as WantsMountsFor = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Documentation = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Description = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s AccessSELinuxContext = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s LoadState = '...';
readonly s ActiveState = '...';
readonly s FreezerState = '...';
readonly s SubState = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s FragmentPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SourcePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as DropInPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s UnitFileState = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s UnitFilePreset = '...';
readonly t StateChangeTimestamp = ...;
readonly t StateChangeTimestampMonotonic = ...;
readonly t InactiveExitTimestamp = ...;
readonly t InactiveExitTimestampMonotonic = ...;
readonly t ActiveEnterTimestamp = ...;
readonly t ActiveEnterTimestampMonotonic = ...;
readonly t ActiveExitTimestamp = ...;
readonly t ActiveExitTimestampMonotonic = ...;
readonly t InactiveEnterTimestamp = ...;
readonly t InactiveEnterTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanStart = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanStop = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanReload = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanIsolate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as CanClean = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanFreeze = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CanLiveMount = ...;
readonly (uo) Job = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b StopWhenUnneeded = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RefuseManualStart = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RefuseManualStop = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b AllowIsolate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DefaultDependencies = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SurviveFinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s OnSuccessJobMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s OnFailureJobMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b IgnoreOnIsolate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b NeedDaemonReload = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as Markers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t JobTimeoutUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t JobRunningTimeoutUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s JobTimeoutAction = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s JobTimeoutRebootArgument = '...';
readonly b ConditionResult = ...;
readonly b AssertResult = ...;
readonly t ConditionTimestamp = ...;
readonly t ConditionTimestampMonotonic = ...;
readonly t AssertTimestamp = ...;
readonly t AssertTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sbbsi) Conditions = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sbbsi) Asserts = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (ss) LoadError = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Transient = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Perpetual = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t StartLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u StartLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StartLimitAction = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s FailureAction = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FailureActionExitStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SuccessAction = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SuccessActionExitStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RebootArgument = '...';
readonly ay InvocationID = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s CollectMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as Refs = ['...', ...];
readonly a(ss) ActivationDetails = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b DebugInvocation = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
};
متدها (Methods)
متدهای Start()، Stop()، Reload()، Restart()، TryRestart()، ReloadOrRestart()، ReloadOrTryRestart()، Kill()، QueueSignal()، ResetFailed() و SetProperties() همان عملیات متدهای مربوطه روی شیء Manager را پیادهسازی میکنند (بالا را ببینید). با این حال، این متدها روی شیء واحد عمل میکنند و بنابراین پارامتر نام واحد را دریافت نمیکنند. فراخوانی مستقیم متدها روی شیء Manager این مزیت را دارد که نیازی به فراخوانی GetUnit() برای دریافت شیء واحد برای یک نام واحد خاص ندارد. بنابراین فراخوانی متدها روی شیء Manager یک بهینهسازی در رفتوبرگشت ارتباطی است.
ویژگیها (Properties)
Id حاوی نام اولیهٔ واحد است.
Names حاوی تمام نامهای واحد است، از جمله نام اولیه که در Id نیز ارائه شده است.
Following یا حاوی رشتهٔ خالی است یا حاوی نام واحد دیگری است که این واحد وضعیت آن را دنبال میکند. این ویژگی برای برخی واحدهای دستگاه استفاده میشود که ماشین وضعیت واحد دیگری را منعکس میکنند، و اینکه این واحد دیگر کدام است ممکن است تغییر کند.
Requires، RequiresOverridable، Requisite، RequisiteOverridable، Wants، BindsTo، RequiredBy، RequiredByOverridable، WantedBy، BoundBy، Conflicts، ConflictedBy، Before، After، OnFailure، Triggers، TriggeredBy، PropagatesReloadTo و RequiresMountsFor حاوی آرایههایی هستند که وابستگیها و وابستگیهای معکوس آنها را (در صورت کاربرد) مطابق پیکربندی در فایل واحد یا تعیین خودکار کدگذاری میکنند.
Description حاوی رشتهٔ توضیحات قابل خواندن برای انسان برای واحد است.
SourcePath در صورتی که واحد بومی نباشد، حاوی مسیر فایل پیکربندی است که این واحد به طور خودکار از آن تولید شده است (در صورتی که بومی باشد، حاوی رشتهٔ خالی است). برای مثال، تمام واحدهای اتصالی تولیدشده از /etc/fstab این فیلد را روی /etc/fstab تنظیم دارند.
Documentation حاوی یک آرایهٔ رشتهای از URLهای مستندات این واحد است.
LoadState حاوی مقدار وضعیتی است که نشان میدهد آیا فایل پیکربندی این واحد بارگذاری شده است یا خیر. وضعیتهای زیر در حال حاضر تعریف شدهاند: "loaded"، "error" و "masked". "loaded" نشان میدهد که پیکربندی با موفقیت بارگذاری شده است. "error" نشان میدهد که بارگذاری پیکربندی با شکست مواجه شده است. فیلد LoadError (پایینتر را ببینید) حاوی اطلاعاتی دربارهٔ علت این شکست است. "masked" نشان میدهد که واحد در حال حاضر ماسک شده است (یعنی پیوند نمادین به /dev/null دارد یا خالی است). توجه داشته باشید که LoadState کاملاً مستقل از ActiveState (پایینتر را ببینید) است، زیرا واحدهای بدون پیکربندی بارگذاریشدهٔ معتبر ممکن است فعال باشند (زیرا پیکربندی ممکن است در زمانی که یک واحد قبلاً فعال بوده مجدداً بارگذاری شده باشد).
ActiveState حاوی مقدار وضعیتی است که نشان میدهد آیا واحد در حال حاضر فعال است یا خیر. وضعیتهای زیر در حال حاضر تعریف شدهاند:
جدول &۱. &وضعیتهای ACTIVE واحد
| وضعیت | توضیحات |
| active | شروعشده، متصلشده، وصلشده، ...، بسته به نوع واحد. |
| inactive | متوقفشده، غیرمتصل، جداشده، ...، بسته به نوع واحد. |
| failed | مشابه inactive، اما واحد به نوعی با شکست مواجه شده است (پردازه در هنگام خروج کد خطا برگردانده، کرش کرده، یک عملیات با اتمام مهلت زمانی مواجه شده، یا پس از راهاندازیهای مجدد بیش از حد). |
| activating | در حال تغییر از inactive به active. |
| deactivating | در حال تغییر از active به inactive. |
| maintenance | واحد در وضعیت inactive است و یک عملیات نگهداری در حال انجام است. |
| reloading | واحد در وضعیت active است و در حال بارگذاری مجدد پیکربندی خود میباشد. |
| refreshing | واحد در وضعیت active است و یک اتصال جدید در فضای نام آن در حال فعالسازی است. |
SubState
وضعیتهای
همان ماشین
وضعیتی را
که ActiveState پوشش
میدهد
کدگذاری
میکند،
اما
وضعیتهای
دقیقتری
را که مختص
نوع واحد
هستند
میشناسد.
در جایی که
ActiveState تنها هشت
وضعیت سطح
بالا را
پوشش
میدهد، SubState
احتمالاً
وضعیتهای
سطح پایینِ
مختصِ نوع
واحدِ
بسیار
بیشتری را
پوشش
میدهد که
به هشت
وضعیت سطح
بالا نگاشت
میشوند.
توجه داشته
باشید که
چندین
وضعیت سطح
پایین ممکن
است به یک
وضعیت سطح
بالا نگاشت
شوند، اما
عکس آن صادق
نیست. همهٔ
وضعیتهای
سطح بالا در
همهٔ انواع
واحدها
دارای
همتایان
سطح پایین
نیستند. در
حال حاضر
وضعیتهای
سطح پایین
در اینجا
مستند
نشدهاند و
نسبت به
وضعیتهای
سطح بالای
مشترک که در
بالا توضیح
داده شد،
احتمال
بیشتری
دارد که
بعداً
گسترش
یابند.
FragmentPath در صورت وجود، حاوی مسیر فایل واحدی است که این واحد از آن خوانده شده است (در غیر این صورت، حاوی رشتهٔ خالی است).
UnitFileState وضعیت نصب فایل واحدِ FragmentPath را کدگذاری میکند. در حال حاضر وضعیتهای زیر را میشناسد: "enabled"، "enabled-runtime"، "linked"، "linked-runtime"، "masked"، "masked-runtime"، "static"، "disabled" و "invalid". "enabled" نشان میدهد که یک فایل واحد به طور دائمی فعال است. "enable-runtime" نشان میدهد که فایل واحد تنها به صورت موقت فعال است و پس از راهاندازی مجدد دیگر فعال نخواهد بود (یعنی از طریق پیوندهای نمادین /run/ فعال شده است، نه /etc/). "linked" نشان میدهد که یک واحد به طور دائمی به /etc/ پیوند داده شده است. "linked-runtime" نشان میدهد که یک واحد به طور موقت (تا راهاندازی مجدد بعدی) به /run/ پیوند داده شده است. "masked" نشان میدهد که فایل واحد به طور دائمی ماسک شده است. "masked-runtime" نشان میدهد که به طور موقت (تا راهاندازی مجدد بعدی) در /run/ ماسک شده است. "static" نشان میدهد که واحد به طور ایستا فعال است، یعنی همیشه فعال است و نیازی به فعالسازی صریح ندارد. "invalid" نشان میدهد که نمیتوان تعیین کرد آیا فایل واحد فعال است یا خیر.
InactiveExitTimestamp، InactiveExitTimestampMonotonic، ActiveEnterTimestamp، ActiveEnterTimestampMonotonic، ActiveExitTimestamp، ActiveExitTimestampMonotonic، InactiveEnterTimestamp و InactiveEnterTimestampMonotonic حاوی مهرهای زمانی ۶۴ بیتی بر حسب میکروثانیهٔ CLOCK_REALTIME و CLOCK_MONOTONIC از آخرین باری هستند که یک واحد وضعیت غیرفعال را ترک کرد، وارد وضعیت فعال شد، از وضعیت فعال خارج شد، یا وارد وضعیت غیرفعال گردید. اینها نقاطی از زمان هستند که واحد دچار گذارهای زیر شده است: "inactive"/"failed" → "activating"، "activating" → "active"، "active" → "deactivating" و در نهایت "deactivating" → "inactive"/"failed". در صورتی که چنین گذاری هنوز در این بوت ثبت نشده باشد، این فیلدها 0 هستند.
CanStart، CanStop و CanReload به صورت بولی کدگذاری میکنند که آیا واحد از عملیاتهای شروع، توقف یا بارگذاری مجدد پشتیبانی میکند یا خیر. حتی اگر یک واحد از چنین عملیاتی پشتیبانی کند، کلاینت ممکن است لزوماً امتیازات لازم برای اجرای آنها را نداشته باشد.
CanIsolate به صورت بولی کدگذاری میکند که آیا واحد میتواند در حالت ایزوله (isolation mode) شروع شود یا خیر.
Job شناسهٔ کار و مسیر شیء کارِ در حال حاضر زمانبندیشده یا در حال اجرا را برای این واحد (در صورت وجود) کدگذاری میکند. اگر هیچ کاری زمانبندی نشده یا در حال اجرا نباشد، فیلد شناسهٔ کار 0 خواهد بود.
StopWhenUnneeded، RefuseManualStart، RefuseManualStop، AllowIsolate، DefaultDependencies، OnFailureIsolate، IgnoreOnIsolate، IgnoreOnSnapshot مستقیماً به مقادیر بولی پیکربندی متناظر در فایل واحد نگاشت میشوند.
NeedDaemonReload یک مقدار بولی است که نشان میدهد آیا فایل پیکربندی که این واحد از آن بارگذاری شده است (یعنی FragmentPath یا SourcePath) از زمان خوانده شدن پیکربندی تغییر کرده است یا خیر، و بنابراین آیا بارگذاری مجدد پیکربندی توصیه میشود یا خیر.
Markers آرایهای از پرچمهای رشتهای است که میتوان با استفاده از SetUnitProperties() تنظیم کرد تا نشان دهد که سرویس باید بارگذاری مجدد یا راهاندازی مجدد شود. مقادیر شناختهشدهٔ فعلی عبارتند از "needs-restart" و "needs-reload". اسکریپتهای بسته ممکن است از اولی برای نشانهگذاری واحدها جهت راهاندازی مجدد بعدی در هنگام نصب نسخهٔ جدید بسته استفاده کنند. اسکریپتهای مدیریت پیکربندی ممکن است از دومی برای نشانهگذاری واحدها جهت بارگذاری مجدد بعدی در هنگام تنظیم پیکربندی استفاده نمایند. این پرچمها توسط مدیر تنظیم نمیشوند، مگر برای لغو تنظیم مناسب در هنگام توقف، راهاندازی مجدد یا بارگذاری مجدد واحد.
JobTimeoutUSec مستقیماً به تنظیمات پیکربندی متناظر در فایل واحد نگاشت میشود.
ConditionTimestamp و ConditionTimestampMonotonic حاوی مهرهای زمانی بر حسب میکروثانیهٔ CLOCK_REALTIME/CLOCK_MONOTONIC از آخرین باری هستند که شرایط پیکربندیشدهٔ واحد بررسی شدهاند، یا در صورتی که هرگز بررسی نشده باشند، 0 میباشند. شرایط زمانی بررسی میشوند که درخواستی برای شروع واحد ارسال شود.
ConditionResult حاوی نتیجهٔ شرط از آخرین باری است که شرایط پیکربندیشدهٔ این واحد بررسی شدهاند.
Conditions حاوی تمام شرایط پیکربندیشدهٔ واحد است. برای هر شرط، پنج فیلد ارائه میشود: نوع شرط (برای مثال ConditionPathExists)، اینکه آیا شرط یک شرط راهانداز (trigger) است، اینکه آیا شرط معکوس شده است، سمت راست شرط (برای مثال مسیر در مورد ConditionPathExists)، و وضعیت. وضعیت میتواند 0 باشد که در این صورت شرط هنوز بررسی نشده است، یک مقدار مثبت باشد که در این صورت شرط برقرار شده است، یا یک مقدار منفی باشد که در این صورت شرط برآورده نشده است. در حال حاضر تنها مقادیر 0، +1 و -1 استفاده میشوند، اما ممکن است مقادیر دیگری در آینده با حفظ معنای مقادیر صفر/مثبت/منفی استفاده شوند.
LoadError حاوی یک جفت رشته است. اگر بارگذاری واحد با شکست مواجه شده باشد (همانطور که در LoadState کدگذاری شده است، بالا را ببینید)، این فیلد شامل یک جفت خطای D-Bus شامل شناسهٔ خطا و یک رشتهٔ توضیحی قابل خواندن برای انسان از آنچه رخ داده است خواهد بود. اگر با موفقیت بارگذاری شده باشد، این فیلد یک جفت رشتهٔ خالی خواهد بود.
Transient حاوی یک مقدار بولی است که نشان میدهد آیا واحد بهعنوان یک واحد گذرا ایجاد شده است یا خیر (یعنی از طریق StartTransientUnit() روی شیء مدیر).
ActivationDetails حاوی فهرستی از جفتهای رشتهای، کلید و مقدار است که رویدادی را که باعث فعالسازی واحد شده است (در صورت وجود) توصیف میکنند. کلید اطلاعات را توصیف میکند (برای مثال: trigger_unit، با مقدار foo.service). این فیلد تنها در صورتی پر میشود که واحد توسط یک واحد Path یا Timer راهاندازی شده باشد، و تنها بر اساس تلاش حداکثری ارائه میشود: تضمین نمیشود که تنظیم شده باشد، و تضمین نمیشود که تنها راهانداز باشد. این فیلد تنها تضمین میکند که یک راهانداز معتبر است که باعث در صف قرار گرفتن کار فعالسازی و تکمیل موفقیتآمیز آن شده است. جفتهای کلید و مقدار (با حروف کوچک) با متغیرهای محیطی شرح داده شده در بخش "Environment Variables Set or Propagated by the Service Manager" در systemd.exec(5) مطابقت دارند. توجه داشته باشید که ممکن است جفتهای کلید و مقدار جدیدی در هر زمان در نسخههای آینده اضافه شوند. ورودیهای موجود حذف نخواهند شد.
DebugInvocation حاوی یک مقدار بولی است که در هنگام راهاندازی مجدد واحد با سطح لاگ تنظیمشده روی debug به دلیل یک شکست قبلی به true تغییر میکند، و هنگامی که واحد با موفقیت شروع شود یا به محدودیت نرخ راهاندازی مجدد برسد به false بازمیگردد. برای جزئیات بیشتر به بخش "RestartMode=" در systemd.service(5) مراجعه کنید.
امنیت (Security)
مشابه متدها روی شیء Manager، دسترسی فقطخواندنی برای همه مجاز است. تمام عملیات برای کلاینتها زمانی که امتیاز org.freedesktop.systemd1.manage-units توسط polkit اعطا شده باشد مجاز است.
اشیاء SERVICE UNIT (SERVICE UNIT OBJECTS)
تمام اشیاء واحد سرویس علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Service (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
interface org.freedesktop.systemd1.Service {
methods:
BindMount(in s source,
in s destination,
in b read_only,
in b mkdir);
MountImage(in s source,
in s destination,
in b read_only,
in b mkdir,
in a(ss) options);
DumpFileDescriptorStore(out a(suuutuusu) entries);
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Type = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExitType = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Restart = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RestartMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PIDFile = '...';
readonly s NotifyAccess = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestartUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u RestartSteps = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestartMaxDelayUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t RestartUSecNext = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutStartUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutStopUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TimeoutAbortUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TimeoutStartFailureMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TimeoutStopFailureMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RuntimeMaxUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RuntimeRandomizedExtraUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t WatchdogUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t WatchdogTimestamp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t WatchdogTimestampMonotonic = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RootDirectoryStartOnly = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemainAfterExit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b GuessMainPID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (aiai) RestartPreventExitStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (aiai) RestartForceExitStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (aiai) SuccessExitStatus = ...;
readonly u MainPID = ...;
readonly u ControlPID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s BusName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u FileDescriptorStoreMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NFileDescriptorStore = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s FileDescriptorStorePreserve = '...';
readonly s StatusText = '...';
readonly i StatusErrno = ...;
readonly s StatusBusError = '...';
readonly s StatusVarlinkError = '...';
readonly s Result = '...';
readonly s ReloadResult = '...';
readonly s CleanResult = '...';
readonly s LiveMountResult = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s USBFunctionDescriptors = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s USBFunctionStrings = '...';
readonly u UID = ...;
readonly u GID = ...;
readonly u NRestarts = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s OOMPolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) OpenFile = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExtraFileDescriptorNames = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i ReloadSignal = ...;
readonly t ExecMainStartTimestamp = ...;
readonly t ExecMainStartTimestampMonotonic = ...;
readonly t ExecMainExitTimestamp = ...;
readonly t ExecMainExitTimestampMonotonic = ...;
readonly t ExecMainHandoffTimestamp = ...;
readonly t ExecMainHandoffTimestampMonotonic = ...;
readonly u ExecMainPID = ...;
readonly i ExecMainCode = ...;
readonly i ExecMainStatus = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecCondition = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecConditionEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStartPre = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecStartPreEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStart = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecStartEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStartPost = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecStartPostEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecReload = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecReloadEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStop = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecStopEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStopPost = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasasttttuii) ExecStopPostEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sb) EnvironmentFiles = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PassEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UnsetEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u UMask = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPU = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPUSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATASoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitAS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitASSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROCSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDING = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDINGSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIO = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIOSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIME = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIMESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s WorkingDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImage = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) RootImageOptions = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHash = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHashSignature = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashSignaturePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootVerity = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RootEphemeral = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExtensionDirectories = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sba(ss)) ExtensionImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssba(ss)) MountImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i OOMScoreAdjust = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CoredumpFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Nice = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingClass = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay CPUAffinity = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUAffinityFromNUMA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i NUMAPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay NUMAMask = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimerSlackNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUSchedulingResetOnFork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NonBlocking = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay StandardInputData = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardError = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardErrorFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TTYPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYReset = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVHangup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVTDisallocate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYRows = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYColumns = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SyslogIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SyslogLevelPrefix = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogLevel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogFacility = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i LogLevelMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LogRateLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogRateLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly aay LogExtraFields = [[...], ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(bs) LogFilterPatterns = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s LogNamespace = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SecureBits = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CapabilityBoundingSet = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t AmbientCapabilities = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s User = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Group = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DynamicUser = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SetLoginEnvironment = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemoveIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ImportCredential = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) ImportCredentialEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SupplementaryGroups = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PAMName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadWritePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadOnlyPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as InaccessiblePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as NoExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecSearchPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t MountFlags = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateTmp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateTmpEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateDevices = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectClock = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelTunables = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelModules = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelLogs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectControlGroups = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectControlGroupsEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateNetwork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateUsers = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateUsersEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateMounts = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivatePIDs = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectHome = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectSystem = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SameProcessGroup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SELinuxContext = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) AppArmorProfile = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SmackProcessLabel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b IgnoreSIGPIPE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NoNewPrivileges = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SystemCallArchitectures = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SystemCallErrorNumber = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallLog = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Personality = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b LockPersonality = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictAddressFamilies = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) RuntimeDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RuntimeDirectoryPreserve = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u RuntimeDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RuntimeDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) StateDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u StateDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as StateDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) CacheDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u CacheDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as CacheDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) LogsDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogsDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as LogsDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u ConfigurationDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConfigurationDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutCleanUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryDenyWriteExecute = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictRealtime = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictSUIDSGID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestrictNamespaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictFileSystems = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindReadOnlyPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) TemporaryFileSystem = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MountAPIVFS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b BindLogSockets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KeyringMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectProc = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProcSubset = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryKSM = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s MountImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExtensionImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i KillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i RestartKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGKILL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGHUP = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i WatchdogSignal = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
متدها (Methods)
BindMount() و MountImage() همان عملیات متدهای مربوطه روی شیء Manager را پیادهسازی میکنند (بالا را ببینید). با این حال، این متدها روی شیء سرویس عمل میکنند و بنابراین پارامتر نام واحد را دریافت نمیکنند. فراخوانی مستقیم متدها روی شیء Manager این مزیت را دارد که نیازی به فراخوانی GetUnit() برای دریافت شیء واحد برای یک نام واحد خاص ندارد. بنابراین فراخوانی متدها روی شیء Manager یک بهینهسازی در رفتوبرگشت ارتباطی است.
DumpFileDescriptorStore() آرایهای با اطلاعات مربوط به توصیفکنندههای فایل موجود در مخزن توصیفکنندهٔ فایل سرویس برمیگرداند. هر ورودی شامل یک نام توصیفکنندهٔ فایل (یعنی فیلد FDNAME=)، نوع inode و حالت دسترسی توصیفکنندهٔ فایل بهعنوان یک عدد صحیح (یعنی یک مقدار mode_t، پرچمهایی مانند S_IFREG، S_IRUSR، ...)، شمارههای اصلی و فرعی شمارهٔ دستگاهِ سیستم فایلِ پشتیبانِ inode توصیفکنندهٔ فایل، شمارهٔ inode، شمارههای اصلی و فرعی شمارهٔ دستگاه در صورتی که این ورودی به یک گرهٔ دستگاه کاراکتری یا بلوکی اشاره داشته باشد، یک مسیر سیستم فایل اشارهکننده به inode، و پرچمهای توصیفکنندهٔ فایل (یعنی O_RDWR، O_RDONLY، ...) میباشد.
ویژگیها (Properties)
بیشتر ویژگیهای رابط Service مستقیماً به تنظیمات مربوطه در فایلهای واحد سرویس نگاشت میشوند. برای رعایت اختصار، در اینجا تنها فهرستی از تمام استثناها آورده شده است:
TimeoutStartUSec، TimeoutStopUSec و TimeoutAbortUSec حاوی مهلتهای زمانی شروع، توقف و لغو بر حسب میکروثانیه هستند. به تفاوت جزئی در نامگذاری در مقایسه با تنظیمات منطبق در فایل واحد توجه داشته باشید (به systemd.service(5) مراجعه کنید): این ویژگیهای گذرگاه اکیداً از میکروثانیه استفاده میکنند (و در نتیجه دارای پسوند ...USec هستند)، در حالی که تنظیمات فایل واحد به طور پیشفرض از واحد زمانی ثانیه استفاده میکنند (و در نتیجه دارای پسوند ...Sec هستند)، مگر اینکه واحد دیگری صریحاً مشخص شده باشد. این نشاندهندهٔ این واقعیت است که مدیر سرویس در درون خود منحصراً با واحدهای میکروثانیه کار میکند، و ویژگیهای گذرگاه یک مفهوم نسبتاً سطح پایین (دودویی) هستند که این موضوع را ارائه میدهند. از سوی دیگر، تنظیمات فایل واحد مفاهیم نسبتاً سطح بالا (مبتنی بر رشته) هستند و بنابراین از مشخصات زمانی کاربرپسندتری پشتیبانی میکنند که به طور پیشفرض بر حسب ثانیه است اما در صورت مشخص شدن واحدهای دیگر را نیز مجاز میداند.
WatchdogTimestamp و WatchdogTimestampMonotonic حاوی مهرهای زمانی بر حسب میکروثانیهٔ CLOCK_REALTIME/CLOCK_MONOTONIC از آخرین پینگ واچداگ دریافتشده از سرویس، یا 0 در صورتی که هیچ پینگی دریافت نشده باشد، هستند.
ExecStartPre، ExecStart، ExecStartPost، ExecReload، ExecStop و ExecStop آرایههایی از ساختارها هستند که هر ساختار شامل موارد زیر است: مسیر باینری برای اجرا؛ یک آرایه شامل تمام آرگومانها برای ارسال به دستور اجراشده، با شروع از آرگومان 0؛ یک مقدار بولی مبنی بر اینکه آیا خروج ناصحیح پردازه باید شکست تلقی شود یا خیر؛ دو جفت مهرزمانی بر حسب میکروثانیهٔ CLOCK_REALTIME/CLOCK_MONOTONIC از زمانی که پردازه آخرین بار شروع به اجرا کرده و به پایان رسیده است، یا 0 در صورتی که هرگز اجرا نشده یا هرگز به پایان نرسیده باشد؛ شناسهٔ PID پردازه، یا 0 در صورتی که هنوز اجرا نشده باشد؛ کد خروج و وضعیت آخرین اجرا. بنابراین این فیلد کم و بیش به تنظیمات مربوطه در فایل واحد سرویس نگاشت میشود اما با دادههای زمان اجرا تکمیل میگردد.
LimitCPU (و ویژگیهای مرتبط) کم و بیش مستقیماً به تنظیمات مربوطه در فایلهای واحد سرویس نگاشت میشوند، با این تفاوت که اگر تنظیم نشده باشند مقدار آنها 18446744073709551615 (یعنی -1) است.
Capabilities حاوی قابلیتهای پیکربندیشده است، همانطور که با cap_to_text(3) قالببندی شده است.
SecureBits، CapabilityBoundingSet، MountFlags نیز با تنظیمات پیکربندیشده در فایلهای واحد مطابقت دارند، اما به جای اینکه به صورت رشته قالببندی شوند، به صورت پرچمهای باینری واقعی کدگذاری میشوند.
ExecMainStartTimestamp، ExecMainStartTimestampMonotonic، ExecMainExitTimestamp، ExecMainExitTimestampMonotonic، ExecMainHandoffTimestamp، ExecMainHandoffTimestampMonotonic، ExecMainPID، ExecMainCode، ExecMainStatus حاوی اطلاعاتی دربارهٔ پردازهٔ اصلی سرویس تا جایی که شناخته شده است میباشند. مهرهای زمانی ExecMainStartTimestamp زمان ایجاد پردازهٔ اصلی سرویس را ثبت میکنند. مهرهای زمانی ExecMainExitTimestamp زمانی را ثبت میکنند که خروج پردازهٔ اصلی توسط مدیر سرویس تشخیص داده شده است. مهرهای زمانی ExecMainHandoffTimestamp زمانی را ثبت میکنند که باینری سرویس در آستانهٔ اجرا توسط systemd-executor است (این مهرزمانی صرفنظر از اینکه فراخوانی سیستمی execve() بلافاصله بعد از آن موفق شود یا با شکست مواجه گردد، ثبت میشود). این اغلب همان اطلاعات زمان اجرایی است که برای ExecStart= نیز نگهداری میشود. با این حال، برای سرویسهای با Type=forking و همچنین سرویسهایی که از پیامهای sd_notify() با MAINPID= استفاده میکنند انحراف دارد، زیرا پردازهٔ اصلی سرویس در آن حالت مستقیماً توسط مدیر سرویس منشعب نمیشود. این فیلدها یا حاوی اطلاعات آخرین اجرای پردازه هستند یا پردازهٔ در حال اجرای فعلی.
MainPID و ControlPID حاوی PID اصلی و کنترلی سرویس هستند. مقدار PID اصلی، PID اصلی فعلی سرویس است و هنگامی که سرویس در حال حاضر PID اصلی ندارد، 0 است. مقدار PID کنترلی، PID پردازهٔ شروع/توقف/بارگذاری مجدد در حال اجرای فعلی است و در صورتی که چنین پردازهای در حال حاضر اجرا نشود، 0 است. این بدان معناست که ExecMainPID و MainPID از این نظر تفاوت دارند که دومی بلافاصله نشان میدهد آیا یک پردازهٔ اصلی در حال حاضر در حال اجرا است یا خیر، در حالی که اولی احتمالاً حاوی اطلاعات جمعآوریشده از آخرین اجرا است حتی اگر پردازه دیگر وجود نداشته باشد.
StatusText، StatusErrno، StatusBusError و StatusVarlinkError به ترتیب حاوی متن وضعیت، شمارهٔ خطا و نام خطای D-Bus/Varlink هستند که از طریق sd_notify(3) به مدیر سرویس منتقل شده است. آنها ممکن است توسط سرویسها برای مطلع کردن مدیر سرویس از وضعیت داخلی خود استفاده شوند.
Result نتیجهٔ اجرای آخرین اجرای سرویس را کدگذاری میکند. این ویژگی برای تعیین دلیل شکست یک سرویس در صورتی که در وضعیت "failed" باشد (به ActiveState در بالا مراجعه کنید) مفید است. مقادیر زیر در حال حاضر شناخته شدهاند: "success" در صورتی تنظیم میشود که واحد با شکست مواجه نشده باشد. "resources" نشان میدهد که منابع کافی برای انشعاب و اجرای پردازههای سرویس در دسترس نبوده است. "timeout" نشان میدهد که هنگام اجرای یک عملیات سرویس، مهلت زمانی به پایان رسیده است. "exit-code" نشان میدهد که یک پردازهٔ سرویس با یک کد خروج غیرپاک خارج شده است. "signal" نشان میدهد که یک پردازهٔ سرویس با یک سیگنال مدیریتنشده خارج شده است. "core-dump" نشان میدهد که یک پردازهٔ سرویس به طور غیرپاک خارج شده و تخلیهٔ حافظه ایجاد کرده است. "watchdog" نشان میدهد که یک سرویس پیامهای پینگ واچداگ را به اندازهٔ کافی ارسال نکرده است. "start-limit-hit" نشان میدهد که یک سرویس در یک بازهٔ زمانی مشخص بیش از حد مجاز شروع شده است (همانطور که در StartLimitInterval، StartLimitBurst پیکربندی شده است). "oom-kill" نشان میدهد که یک سرویس به دلیل وضعیت کمبود حافظه (OOM) خاتمه یافته است.
ControlGroup مسیر گروه کنترلی (cgroup) را که پردازههای این واحد سرویس در آن قرار میگیرند نشان میدهد.
ویژگیهای زیر به صورت ۱:۱ به تنظیمات مربوطه در فایل واحد نگاشت میشوند: RootDirectory RootImage RootImageOptions RootVerity RootHash RootHashSignature MountImages ExtensionImages ExtensionDirectories برای مفهوم آنها به systemd.exec(5) مراجعه کنید.
MemoryAvailable مقادیر "MemoryMax" یا "MemoryHigh" واحد و والدین آن یا RAM فیزیکی در دسترس را در مقایسه با مصرف حافظه در سطح دادهشده در نظر میگیرد و حداقل را انتخاب میکند. توجه داشته باشید که سایر واحدهای زیر فشردهترین برش والد ممکن است حافظه را سریعتر مصرف کنند و مقدار کمتری نسبت به مقدار گزارششده برای تخصیص خود واحد باقی بماند. این ویژگی در ترکیب با MemoryAccounting=yes روی واحدهای درگیر عملکرد بهتری دارد.
DelegateSubgroup حاوی زیرگروه cgroup است که پردازههای واحد فراخوانیشده باید در آن قرار گیرند، همانطور که توسط گزینهای با همین نام در فایلهای واحد پیکربندی شده است. در صورتی که کاربرد نداشته باشد یا زیرگروهی پیکربندی نشده باشد، روی رشتهٔ خالی تنظیم میشود.
RuntimeDirectorySymlink، StateDirectorySymlink، CacheDirectorySymlink و LogsDirectorySymlink به ترتیب پارامتر مقصد تنظیمات فایلهای واحد RuntimeDirectory، StateDirectory، CacheDirectory و LogsDirectory را پیادهسازی میکنند، که یک پیوند نمادین با نام دادهشده به دایرکتوری مربوطه ایجاد میکند. پیامها یک پارامتر flags دریافت میکنند که دایرکتوری را فقطخواندنی میکند:
#define SD_EXEC_DIRECTORY_READ_ONLY (UINT64_C(1) << 0)
ExtraFileDescriptorNames حاوی نامهای توصیفکنندهٔ فایلی است که از طریق ویژگی ExtraFileDescriptors در متد StartTransientUnit() به سرویس ارسال شده است. برای جزئیات بیشتر در مورد نحوهٔ بازیابی این توصیفکنندههای فایل به sd_listen_fds(3) مراجعه کنید. برخلاف ویژگی ورودی ExtraFileDescriptors، ویژگی ExtraFileDescriptorNames تنها شامل نامها است و نه توصیفکنندههای فایل.
ManagedOOMMemoryPressureDurationUSec پارامتر مقصد تنظیم فایل واحد ManagedOOMMemoryPressureDurationSec= فهرستشده در systemd.resource-control(5) را پیادهسازی میکند. توجه داشته باشید که واحد زمان بر حسب "μs" بیان شده است.
ProtectControlGroupsEx پارامتر مقصد تنظیم فایل واحد ProtectControlGroups= فهرستشده در systemd.exec(5) را پیادهسازی میکند. برخلاف ویژگی بولی ProtectControlGroups، ویژگی ProtectControlGroupsEx از نوع رشتهای است.
PrivatePIDs پارامتر مقصد تنظیم فایل واحد PrivatePIDs= فهرستشده در systemd.exec(5) را پیادهسازی میکند. توجه داشته باشید که PrivatePIDs از نوع رشتهای است تا امکان افزودن مقادیر بیشتر در آینده فراهم شود.
اشیاء SOCKET UNIT (SOCKET UNIT OBJECTS)
node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
interface org.freedesktop.systemd1.Socket {
methods:
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s BindIPv6Only = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u Backlog = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s BindToDevice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SocketUser = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SocketGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u SocketMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u DirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Accept = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b FlushPending = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Writable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b KeepAlive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t KeepAliveTimeUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t KeepAliveIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u KeepAliveProbes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t DeferAcceptUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NoDelay = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Priority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t ReceiveBuffer = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t SendBuffer = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IPTOS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IPTTL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t PipeSize = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b FreeBind = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Transparent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Broadcast = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PassCredentials = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PassFileDescriptorsToExec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PassSecurity = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PassPacketInfo = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Timestamping = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemoveOnStop = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) Listen = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Symlinks = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Mark = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u MaxConnections = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u MaxConnectionsPerSource = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly x MessageQueueMaxMessages = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly x MessageQueueMessageSize = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TCPCongestion = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ReusePort = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SmackLabel = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SmackLabelIPIn = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SmackLabelIPOut = '...';
readonly u ControlPID = ...;
readonly s Result = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NConnections = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NAccepted = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u NRefused = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s FileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SocketProtocol = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TriggerLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u TriggerLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t PollLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u PollLimitBurst = ...;
readonly u UID = ...;
readonly u GID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStartPre = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStartPost = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStopPre = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecStopPost = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sb) EnvironmentFiles = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PassEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UnsetEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u UMask = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPU = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPUSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATASoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitAS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitASSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROCSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDING = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDINGSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIO = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIOSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIME = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIMESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s WorkingDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImage = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) RootImageOptions = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHash = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHashSignature = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashSignaturePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootVerity = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RootEphemeral = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExtensionDirectories = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sba(ss)) ExtensionImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssba(ss)) MountImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i OOMScoreAdjust = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CoredumpFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Nice = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingClass = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay CPUAffinity = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUAffinityFromNUMA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i NUMAPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay NUMAMask = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimerSlackNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUSchedulingResetOnFork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NonBlocking = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay StandardInputData = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardError = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardErrorFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TTYPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYReset = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVHangup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVTDisallocate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYRows = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYColumns = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SyslogIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SyslogLevelPrefix = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogLevel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogFacility = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i LogLevelMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LogRateLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogRateLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly aay LogExtraFields = [[...], ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(bs) LogFilterPatterns = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s LogNamespace = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SecureBits = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CapabilityBoundingSet = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t AmbientCapabilities = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s User = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Group = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DynamicUser = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SetLoginEnvironment = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemoveIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ImportCredential = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) ImportCredentialEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SupplementaryGroups = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PAMName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadWritePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadOnlyPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as InaccessiblePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as NoExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecSearchPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t MountFlags = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateTmp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateTmpEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateDevices = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectClock = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelTunables = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelModules = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelLogs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectControlGroups = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectControlGroupsEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateNetwork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateUsers = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateUsersEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateMounts = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivatePIDs = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectHome = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectSystem = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SameProcessGroup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SELinuxContext = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) AppArmorProfile = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SmackProcessLabel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b IgnoreSIGPIPE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NoNewPrivileges = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SystemCallArchitectures = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SystemCallErrorNumber = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallLog = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Personality = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b LockPersonality = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictAddressFamilies = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) RuntimeDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RuntimeDirectoryPreserve = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u RuntimeDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RuntimeDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) StateDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u StateDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as StateDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) CacheDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u CacheDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as CacheDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) LogsDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogsDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as LogsDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u ConfigurationDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConfigurationDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutCleanUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryDenyWriteExecute = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictRealtime = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictSUIDSGID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestrictNamespaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictFileSystems = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindReadOnlyPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) TemporaryFileSystem = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MountAPIVFS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b BindLogSockets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KeyringMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectProc = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProcSubset = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryKSM = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s MountImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExtensionImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i KillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i RestartKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGKILL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGHUP = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i WatchdogSignal = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیهای PollLimitIntervalUSec/PollLimitBurst محدودیت نظرسنجی را برای واحد سوکت پیکربندی میکنند. انتظار یک زمان بر حسب میکروثانیه (µs) و به ترتیب یک عدد صحیح بدون علامت را دارد. اگر هر یک روی صفر تنظیم شود، قابلیت محدودسازی خاموش میشود.
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً به تنظیمات مربوطه در فایلهای واحد سوکت نگاشت میشوند. از آنجا که واحدهای سوکت میتوانند شامل فیلدهای ExecStartPre (و موارد مشابه) باشند که حاوی اطلاعاتی دربارهٔ پردازههای قابل اجرا هستند، همچنین بیشتر فیلدهای مربوط به بافتار اجرا را که اشیاء Service ارائه میدهند به اشتراک میگذارند (بالا را ببینید).
علاوه بر این ویژگیها، موارد زیر نیز وجود دارند:
NAccepted حاوی تعداد کل اتصالاتی است که تاکنون روی این سوکت پذیرفته شدهاند. این تنها برای سوکتهایی با مقدار Accept تنظیمشده روی "yes" اعمال میشود، یعنی مواردی که systemd مسئول اتصالات پذیرفتهشده است.
به طور مشابه NConnections حاوی تعداد اتصالات در حال حاضر باز روی این سوکت است. این تنها برای واحدهای سوکت با Accept تنظیمشده روی "yes" اعمال میشود.
Result دلیل شکست یک واحد سوکت را در صورتی که در وضعیت "failed" باشد کدگذاری میکند (به ActiveState در بالا مراجعه کنید). مقادیر "success"، "resources"، "timeout"، "exit-code"، "signal" و "core-dump" دارای همان معنایی هستند که برای فیلد متناظر در واحدهای سرویس دارند (بالا را ببینید). علاوه بر آن، مقدار "service-failed-permanent" نشان میدهد که سرویسِ این سوکت به طور مداوم با شکست مواجه شده است.
FlushPending مشخص میکند که آیا سوکت دقیقاً قبل از ورود به وضعیت شنود تخلیه شود یا خیر. این تنظیم تنها برای سوکتهایی با Accept= تنظیمشده روی "no" اعمال میشود.
اشیاء TARGET UNIT (TARGET UNIT OBJECTS)
node /org/freedesktop/systemd1/unit/basic_2etarget {
interface org.freedesktop.systemd1.Target {
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
واحدهای هدف (Target) نه متدها و نه ویژگیهای مختص به نوع دارند.
اشیاء DEVICE UNIT (DEVICE UNIT OBJECTS)
تمام اشیاء واحد دستگاه علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Device (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/dev_2dttyS0_2edevice {
interface org.freedesktop.systemd1.Device {
properties:
readonly s SysFSPath = '...';
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
واحدهای دستگاه تنها یک ویژگی مختص به نوع را ارائه میدهند:
SysFSPath حاوی مسیر sysfs دستگاه هستهای است که این شیء با آن مطابقت دارد.
اشیاء MOUNT UNIT (MOUNT UNIT OBJECTS)
تمام اشیاء واحد اتصال علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Mount (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/home_2emount {
interface org.freedesktop.systemd1.Mount {
methods:
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Where = '...';
readonly s What = '...';
readonly s Options = '...';
readonly s Type = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutUSec = ...;
readonly u ControlPID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u DirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SloppyOptions = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b LazyUnmount = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ForceUnmount = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ReadWriteOnly = ...;
readonly s Result = '...';
readonly u UID = ...;
readonly u GID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecMount = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecUnmount = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecRemount = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sb) EnvironmentFiles = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PassEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UnsetEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u UMask = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPU = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPUSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATASoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitAS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitASSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROCSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDING = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDINGSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIO = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIOSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIME = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIMESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s WorkingDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImage = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) RootImageOptions = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHash = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHashSignature = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashSignaturePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootVerity = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RootEphemeral = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExtensionDirectories = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sba(ss)) ExtensionImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssba(ss)) MountImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i OOMScoreAdjust = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CoredumpFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Nice = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingClass = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay CPUAffinity = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUAffinityFromNUMA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i NUMAPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay NUMAMask = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimerSlackNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUSchedulingResetOnFork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NonBlocking = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay StandardInputData = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardError = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardErrorFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TTYPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYReset = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVHangup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVTDisallocate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYRows = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYColumns = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SyslogIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SyslogLevelPrefix = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogLevel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogFacility = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i LogLevelMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LogRateLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogRateLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly aay LogExtraFields = [[...], ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(bs) LogFilterPatterns = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s LogNamespace = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SecureBits = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CapabilityBoundingSet = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t AmbientCapabilities = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s User = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Group = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DynamicUser = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SetLoginEnvironment = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemoveIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ImportCredential = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) ImportCredentialEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SupplementaryGroups = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PAMName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadWritePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadOnlyPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as InaccessiblePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as NoExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecSearchPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t MountFlags = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateTmp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateTmpEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateDevices = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectClock = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelTunables = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelModules = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelLogs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectControlGroups = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectControlGroupsEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateNetwork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateUsers = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateUsersEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateMounts = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivatePIDs = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectHome = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectSystem = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SameProcessGroup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SELinuxContext = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) AppArmorProfile = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SmackProcessLabel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b IgnoreSIGPIPE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NoNewPrivileges = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SystemCallArchitectures = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SystemCallErrorNumber = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallLog = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Personality = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b LockPersonality = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictAddressFamilies = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) RuntimeDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RuntimeDirectoryPreserve = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u RuntimeDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RuntimeDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) StateDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u StateDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as StateDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) CacheDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u CacheDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as CacheDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) LogsDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogsDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as LogsDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u ConfigurationDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConfigurationDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutCleanUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryDenyWriteExecute = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictRealtime = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictSUIDSGID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestrictNamespaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictFileSystems = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindReadOnlyPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) TemporaryFileSystem = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MountAPIVFS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b BindLogSockets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KeyringMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectProc = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProcSubset = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryKSM = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s MountImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExtensionImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i KillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i RestartKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGKILL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGHUP = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i WatchdogSignal = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً به تنظیمات مربوطه در فایلهای واحد اتصال نگاشت میشوند. از آنجا که واحدهای اتصال دستور /usr/bin/mount را فراخوانی میکنند، اشیاء گذرگاه آنها شامل فیلدهای ضمنی ExecMount (و موارد مشابه) است که حاوی اطلاعاتی دربارهٔ پردازههای قابل اجرا میباشند. آنها همچنین بیشتر فیلدهای مربوط به بافتار اجرا را که اشیاء Service ارائه میدهند به اشتراک میگذارند (بالا را ببینید). علاوه بر این ویژگیها، موارد زیر نیز وجود دارند:
ControlPID در صورتی که دستور /usr/bin/mount یا /usr/bin/umount در حال اجرا باشد، حاوی PID آن است و در غیر این صورت 0 میباشد.
Result حاوی مقداری است که دلیل شکست یک واحد اتصال را در صورت شکست خوردن توضیح میدهد. این ویژگی میتواند مقادیر "success"، "resources"، "timeout"، "exit-code"، "signal" یا "core-dump" را بگیرد که معنای یکسانی با مقادیر متناظر فیلد مربوطه در اشیاء واحد سرویس دارند (بالا را ببینید).
اشیاء AUTOMOUNT UNIT (AUTOMOUNT UNIT OBJECTS)
تمام اشیاء واحد اتصال خودکار علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Automount (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount {
interface org.freedesktop.systemd1.Automount {
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Where = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExtraOptions = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u DirectoryMode = ...;
readonly s Result = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutIdleUSec = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً به تنظیمات مربوطه در فایلهای واحد اتصال خودکار نگاشت میشوند.
Result در حال حاضر مقادیر "success" و "resources" را میشناسد. این مقادیر معنایی مشابه با مقادیر متناظر فیلد مربوطه در شیء Service دارند.
اشیاء TIMER UNIT (TIMER UNIT OBJECTS)
تمام اشیاء واحد تایمر علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Timer (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer {
interface org.freedesktop.systemd1.Timer {
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Unit = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(stt) TimersMonotonic = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sst) TimersCalendar = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b OnClockChange = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b OnTimezoneChange = ...;
readonly t NextElapseUSecRealtime = ...;
readonly t NextElapseUSecMonotonic = ...;
readonly t LastTriggerUSec = ...;
readonly t LastTriggerUSecMonotonic = ...;
readonly s Result = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t AccuracyUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RandomizedDelayUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b FixedRandomDelay = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b Persistent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b WakeSystem = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemainAfterElapse = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DeferReactivation = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
Unit حاوی نام واحدی است که باید هنگام انقضای تایمر فعال شود.
TimersMonotonic حاوی آرایهای از ساختارها است که شامل اطلاعاتی دربارهٔ تمام تایمرهای یکنواخت این واحد تایمر میباشند. این ساختارها شامل رشتهای هستند که مبنای تایمر را مشخص میکند و یکی از مقادیر "OnActiveUSec"، "OnBootUSec"، "OnStartupUSec"، "OnUnitActiveUSec" یا "OnUnitInactiveUSec" است که با تنظیماتی با همین نام در فایلهای واحد تایمر مطابقت دارند؛ انحراف بر حسب میکروثانیه از این مبنای تایمر در زمان یکنواخت؛ و نقطهٔ انقضای بعدی روی ساعت CLOCK_MONOTONIC نسبت به مبدأ آن.
TimersCalendar حاوی آرایهای از ساختارها است که شامل اطلاعاتی دربارهٔ تمام تایمرهای بلادرنگ/تقویمی این واحد تایمر میباشند. این ساختارها شامل رشتهای هستند که مبنای تایمر را مشخص میکند، که در حال حاضر تنها میتواند "OnCalendar" باشد؛ رشتهٔ مشخصات تقویم؛ و نقطهٔ انقضای بعدی روی ساعت CLOCK_REALTIME نسبت به مبدأ آن.
NextElapseUSecRealtime حاوی نقطهٔ انقضای بعدی روی ساعت CLOCK_REALTIME بر حسب میکروثانیه از مبدأ زمانی است، یا 0 در صورتی که این رویداد تایمر شامل حداقل یک رویداد تقویمی نباشد.
به طور مشابه، NextElapseUSecMonotonic حاوی نقطهٔ انقضای بعدی روی ساعت CLOCK_MONOTONIC بر حسب میکروثانیه از مبدأ زمانی است، یا 0 در صورتی که این رویداد تایمر شامل حداقل یک رویداد یکنواخت نباشد.
Result مقادیر "success" و "resources" را با همان معانی مقادیر منطبق در ویژگی مربوطهٔ رابط سرویس میشناسد.
اشیاء SWAP UNIT (SWAP UNIT OBJECTS)
تمام اشیاء واحد مبادله علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Swap (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
interface org.freedesktop.systemd1.Swap {
methods:
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
properties:
readonly s What = '...';
readonly i Priority = ...;
readonly s Options = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutUSec = ...;
readonly u ControlPID = ...;
readonly s Result = '...';
readonly u UID = ...;
readonly u GID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecActivate = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("invalidates")
readonly a(sasbttttuii) ExecDeactivate = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as Environment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sb) EnvironmentFiles = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as PassEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as UnsetEnvironment = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u UMask = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPU = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCPUSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitFSIZESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitDATASoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSTACKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitCORESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRSSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNOFILESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitAS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitASSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNPROCSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCK = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMEMLOCKSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitLOCKSSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDING = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitSIGPENDINGSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitMSGQUEUESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitNICESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIO = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTPRIOSoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIME = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LimitRTTIMESoft = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s WorkingDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootDirectory = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImage = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) RootImageOptions = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHash = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay RootHashSignature = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootHashSignaturePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootVerity = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RootEphemeral = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExtensionDirectories = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sba(ss)) ExtensionImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssba(ss)) MountImages = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i OOMScoreAdjust = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CoredumpFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i Nice = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingClass = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i IOSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i CPUSchedulingPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay CPUAffinity = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUAffinityFromNUMA = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i NUMAPolicy = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay NUMAMask = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimerSlackNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b CPUSchedulingResetOnFork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NonBlocking = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardInputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly ay StandardInputData = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutput = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardOutputFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardError = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s StandardErrorFileDescriptorName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s TTYPath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYReset = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVHangup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b TTYVTDisallocate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYRows = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly q TTYColumns = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogPriority = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s SyslogIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SyslogLevelPrefix = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogLevel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SyslogFacility = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i LogLevelMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t LogRateLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogRateLimitBurst = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly aay LogExtraFields = [[...], ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(bs) LogFilterPatterns = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s LogNamespace = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SecureBits = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t CapabilityBoundingSet = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t AmbientCapabilities = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s User = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Group = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b DynamicUser = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SetLoginEnvironment = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RemoveIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(say) SetCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredential = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) LoadCredentialEncrypted = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ImportCredential = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) ImportCredentialEx = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SupplementaryGroups = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PAMName = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadWritePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ReadOnlyPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as InaccessiblePaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as NoExecPaths = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ExecSearchPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t MountFlags = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateTmp = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateTmpEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateDevices = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectClock = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelTunables = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelModules = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectKernelLogs = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectControlGroups = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectControlGroupsEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateNetwork = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateUsers = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivateUsersEx = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateMounts = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b PrivateIPC = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s PrivatePIDs = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectHome = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectSystem = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SameProcessGroup = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpIdentifier = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s UtmpMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SELinuxContext = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) AppArmorProfile = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bs) SmackProcessLabel = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b IgnoreSIGPIPE = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b NoNewPrivileges = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallFilter = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as SystemCallArchitectures = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i SystemCallErrorNumber = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) SystemCallLog = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Personality = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b LockPersonality = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictAddressFamilies = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) RuntimeDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RuntimeDirectoryPreserve = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u RuntimeDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as RuntimeDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) StateDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u StateDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as StateDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) CacheDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u CacheDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as CacheDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(sst) LogsDirectorySymlink = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u LogsDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as LogsDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u ConfigurationDirectoryMode = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly as ConfigurationDirectory = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutCleanUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryDenyWriteExecute = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictRealtime = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b RestrictSUIDSGID = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RestrictNamespaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (bas) RestrictFileSystems = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ssbt) BindReadOnlyPaths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) TemporaryFileSystem = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MountAPIVFS = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b BindLogSockets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KeyringMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProtectProc = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ProcSubset = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MemoryKSM = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RootImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s MountImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s ExtensionImagePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i KillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i RestartKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGKILL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGHUP = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i WatchdogSignal = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً به تنظیمات مربوطه در فایلهای واحد مبادله نگاشت میشوند. از آنجا که واحدهای مبادله دستور swapon(8) را فراخوانی میکنند، اشیاء گذرگاه آنها شامل فیلدهای ضمنی ExecActivate (و موارد مشابه) است که حاوی اطلاعاتی دربارهٔ پردازههای قابل اجرا میباشند. آنها همچنین بیشتر فیلدهای مربوط به بافتار اجرا را که اشیاء Service ارائه میدهند به اشتراک میگذارند (بالا را ببینید). علاوه بر این ویژگیها، موارد زیر نیز وجود دارند:
ControlPID در صورتی که دستور swapon(8) یا swapoff(8) در حال اجرا باشد، حاوی PID آن است و در غیر این صورت 0 میباشد.
Result حاوی مقداری است که دلیل شکست یک واحد مبادله را در صورت شکست خوردن توضیح میدهد. این ویژگی میتواند مقادیر "success"، "resources"، "timeout"، "exit-code"، "signal" یا "core-dump" را بگیرد که معنای یکسانی با مقادیر متناظر فیلد مربوطه در اشیاء واحد سرویس دارند (بالا را ببینید).
اشیاء PATH UNIT (PATH UNIT OBJECTS)
node /org/freedesktop/systemd1/unit/cups_2epath {
interface org.freedesktop.systemd1.Path {
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Unit = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) Paths = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b MakeDirectory = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u DirectoryMode = ...;
readonly s Result = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TriggerLimitIntervalUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u TriggerLimitBurst = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً با تنظیمات منطبق در فایلهای واحد مسیر مطابقت دارند.
سایر موارد:
Paths حاوی آرایهای از ساختارها است. هر ساختار شامل شرطی برای پایش است که میتواند یکی از موارد "PathExists"، "PathExistsGlob"، "PathChanged"، "PathModified" یا "DirectoryNotEmpty" باشد که مستقیماً با تنظیمات منطبق در فایلهای واحد مسیر مطابقت دارند؛ و مسیر مورد نظر برای پایش، که احتمالاً شامل عبارات glob نیز میباشد.
Result حاوی یک مقدار نتیجه است که میتواند "success" یا "resources" باشد که همان معنای فیلد متناظر در رابط Service را دارند.
اشیاء SLICE UNIT (SLICE UNIT OBJECTS)
تمام اشیاء واحد برش علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Slice (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/system_2eslice {
interface org.freedesktop.systemd1.Slice {
methods:
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
ویژگیها (Properties)
بیشتر ویژگیها مستقیماً با تنظیمات منطبق در فایلهای واحد برش مطابقت دارند.
ManagedOOMMemoryPressureDurationUSec پارامتر مقصد تنظیم فایل واحد ManagedOOMMemoryPressureDurationSec= فهرستشده در systemd.resource-control(5) را پیادهسازی میکند. توجه داشته باشید که واحد زمان بر حسب "μs" بیان شده است.
اشیاء SCOPE UNIT (SCOPE UNIT OBJECTS)
تمام اشیاء واحد دامنه علاوه بر رابط عمومی org.freedesktop.systemd1.Unit (بالا را ببینید)، رابط org.freedesktop.systemd1.Scope (شرح داده شده در اینجا) را نیز پیادهسازی میکنند.
node /org/freedesktop/systemd1/unit/session_2d1_2escope {
interface org.freedesktop.systemd1.Scope {
methods:
Abandon();
GetProcesses(out a(sus) processes);
AttachProcesses(in s subcgroup,
in au pids);
signals:
RequestStop();
properties:
readonly s Controller = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t TimeoutStopUSec = ...;
readonly s Result = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RuntimeMaxUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly t RuntimeRandomizedExtraUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s OOMPolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s Slice = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ControlGroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ControlGroupId = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapPeak = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryAvailable = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUUsageNSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay EffectiveMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksCurrent = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t EffectiveTasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPIngressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IPEgressPackets = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOReadOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteBytes = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWriteOperations = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b Delegate = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DelegateControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DelegateSubgroup = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CPUAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupCPUShares = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPerSecUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t CPUQuotaPeriodUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedCPUs = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay AllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly ay StartupAllowedMemoryNodes = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t IOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteBandwidthMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOReadIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IOWriteIOPSMax = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) IODeviceLatencyTargetUSec = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b BlockIOAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t BlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupBlockIOWeight = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIODeviceWeight = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOReadBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(st) BlockIOWriteBandwidth = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultStartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t DefaultMemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMin = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryLow = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryHigh = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemorySwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t StartupMemoryZSwapMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b MemoryZSwapWriteback = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s DevicePolicy = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) DeviceAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b TasksAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t TasksMax = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b IPAccounting = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iayu) IPAddressDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPIngressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as IPEgressFilterPath = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly as DisableControllers = ['...', ...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMSwap = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMMemoryPressure = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly u ManagedOOMMemoryPressureLimit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t ManagedOOMMemoryPressureDurationUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s ManagedOOMPreference = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(ss) BPFProgram = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindAllow = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiqq) SocketBindDeny = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly (bas) RestrictNetworkInterfaces = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly s MemoryPressureWatch = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly t MemoryPressureThresholdUSec = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly a(iiss) NFTSet = [...];
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
readonly b CoredumpReceive = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s KillMode = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i KillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i RestartKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i FinalKillSignal = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGKILL = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b SendSIGHUP = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly i WatchdogSignal = ...;
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
interface org.freedesktop.systemd1.Unit { ... };
};
متدها (Methods)
Abandon() میتواند برای قرار دادن یک واحد دامنه در وضعیت "abandoned" استفاده شود. این متد ممکن است برای مطلع کردن مدیر سیستم از این موضوع استفاده شود که مدیری که دامنه را ایجاد کرده علاقهٔ خود را به دامنه از دست داده است (برای مثال، به این دلیل که در حال خاتمه یافتن است)، بدون اینکه بخواهد دامنه را به طور کامل متوقف کند.
سیگنالها (Signals)
RequestStop() هنگامی که از systemd درخواست میشود واحد دامنه را خاتمه دهد، به همتایی که در ویژگی Controller پیکربندی شده است ارسال میشود. برنامهای که یک دامنه را ثبت میکند میتواند از این سیگنال برای خاموش کردن تمیز پردازههایی که به دامنه اضافه کرده است استفاده کند، به جای اینکه اجازه دهد systemd این کار را با منطق معمول SIGTERM انجام دهد.
ویژگیها (Properties)
تمام ویژگیها مستقیماً با ویژگیهای منطبق در واحدهای سرویس مطابقت دارند.
Controller حاوی نام گذرگاهی (یکتا یا شناختهشده) است که هنگام خاموش شدن واحد دامنه از طریق سیگنال RequestStop() (پایینتر را ببینید) مطلع میشود. این ویژگی هنگام ایجاد دامنه تنظیم میشود. اگر تنظیم نشده باشد، پردازههای دامنه مستقیماً با SIGTERM خاتمه مییابند.
ManagedOOMMemoryPressureDurationUSec پارامتر مقصد تنظیم فایل واحد ManagedOOMMemoryPressureDurationSec= فهرستشده در systemd.resource-control(5) را پیادهسازی میکند. توجه داشته باشید که واحد زمان بر حسب "μs" بیان شده است.
اشیاء JOB (JOB OBJECTS)
اشیاء کار (Job) کارهای زمانبندیشده یا در حال اجرا را کپسولهسازی میکنند. هر واحد میتواند هیچ یا یک کار در صف اجرا داشته باشد. هر کار دقیقاً به یک واحد متصل است.
node /org/freedesktop/systemd1/job/666 {
interface org.freedesktop.systemd1.Job {
methods:
Cancel();
GetAfter(out a(usssoo) jobs);
GetBefore(out a(usssoo) jobs);
properties:
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u Id = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly (so) Unit = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s JobType = '...';
readonly s State = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly a(ss) ActivationDetails = [...];
};
interface org.freedesktop.DBus.Peer { ... };
interface org.freedesktop.DBus.Introspectable { ... };
interface org.freedesktop.DBus.Properties { ... };
};
متدها (Methods)
Cancel() کار را لغو میکند. توجه داشته باشید که این متد در صورتی که کار هنوز اجرا نشده باشد آن را از صف حذف میکند اما به طور کلی باعث لغو کاری که در حال اجرا است نمیشود. این عملیات همچنین میتواند از طریق متد CancelJob() روی شیء Manager (بالا را ببینید) درخواست شود، که گاهی برای کاهش رفتوبرگشتهای ارتباطی مفید است.
ویژگیها (Properties)
Id شناسهٔ عددی کار است. در طول زمان اجرای یک نمونهٔ systemd، هر شناسهٔ عددی تنها یک بار اختصاص مییابد.
Unit به واحدی اشاره دارد که این کار به آن تعلق دارد. این یک ساختار شامل نام واحد و مسیر گذرگاه به شیء واحد است.
JobType به نوع کار اشاره دارد و یکی از موارد "start"، "verify-active"، "stop"، "reload"، "restart"، "try-restart" یا "reload-or-start" است. توجه داشته باشید که نسخههای بعدی ممکن است مقادیر دیگری را نیز تعریف کنند.
State به وضعیت کار اشاره دارد و یکی از موارد "waiting" و "running" است. اولی نشان میدهد که یک کار در حال حاضر در صف است اما هنوز اجرای آن آغاز نشده است. دومی نشان میدهد که یک کار در حال حاضر در حال اجرا است.
ActivationDetails دارای همان محتوای ویژگی با همین نام تحت رابط org.freedesktop.systemd1.Unit است.
مثالها (EXAMPLES)
مثال &۱. &دروننگری org.freedesktop.systemd1.Manager روی گذرگاه
$ gdbus introspect --system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1
مثال &۲. &دروننگری یک واحد روی گذرگاه
$ busctl introspect org.freedesktop.systemd1 \
$(busctl call org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.systemd1.Manager \
GetUnit s systemd-resolved.service | cut -d'"' -f2)
مثال &۳. &دروننگری org.freedesktop.systemd1.Job روی گذرگاه
$ gdbus introspect --system --dest org.freedesktop.systemd1 \ --object-path /org/freedesktop/systemd1/job/1292
نسخهبندی (VERSIONING)
این رابطهای D-Bus از دستورالعملهای معمول نسخهبندی رابط کاربری[4] پیروی میکنند.
تاریخچه (HISTORY)
شیء Manager
RuntimeWatchdogPreUSec و RuntimeWatchdogPreGovernor در نسخهٔ 251 اضافه شدند.
WatchdogDevice، WatchdogLastPingTimestamp، WatchdogLastPingTimestampMonotonic، DefaultDeviceTimeoutUSec، DumpUnitsMatchingPatterns()، و DumpUnitsMatchingPatternsByFileDescriptor() در نسخهٔ 252 اضافه شدند.
GetUnitByPIDFD() و DisableUnitFilesWithFlagsAndInstallInfo() در نسخهٔ 253 اضافه شدند.
ConfidentialVirtualization، DefaultIOAccounting، DefaultIPAccounting، DefaultMemoryPressureThresholdUSec، DefaultMemoryPressureWatch، QueueSignalUnit()، SoftReboot()، و DumpUnitFileDescriptorStore() در نسخهٔ 254 اضافه شدند.
StartAuxiliaryScope()، ShutdownStartTimestamp، ShutdownStartTimestampMonotonic، و SoftRebootsCount در نسخهٔ 256 اضافه شدند.
اشیاء Unit
Upholds و UpheldBy در نسخهٔ 251 اضافه شدند.
AccessSELinuxContext و ActivationDetails در نسخهٔ 252 اضافه شدند.
QueueSignal() در نسخهٔ 254 اضافه شد.
SurviveFinalKillSignal در نسخهٔ 255 اضافه شد.
WantsMountsFor در نسخهٔ 256 اضافه شد.
DebugInvocation، و CanLiveMount در نسخهٔ 257 اضافه شدند.
اشیاء Service Unit
ControlGroupId و ExtensionDirectories در نسخهٔ 251 اضافه شدند.
OpenFile، ReloadSignal، MemoryZSwapMax، و LogFilterPatterns در نسخهٔ 253 اضافه شدند.
RestartMode، RestartSteps، RestartMaxDelayUSec، RestartUSecNext، FileDescriptorStorePreserve، DumpFileDescriptorStore()، DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، MemoryPressureThresholdUSec، RootEphemeral، ImportCredential، MemoryKSM، RootImagePolicy، MountImagePolicy، و ExtensionImagePolicy در نسخهٔ 254 اضافه شدند.
NFTSet، SetLoginEnvironment، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، MemoryZSwapWriteback، ExecMainHandoffTimestampMonotonic، و ExecMainHandoffTimestamp در نسخهٔ 256 اضافه شدند.
StatusBusError، StatusVarlinkError، LiveMountResult، PrivateTmpEx، ImportCredentialEx، ExtraFileDescriptorNames، ManagedOOMMemoryPressureDurationUSec، BindLogSockets، ProtectControlGroupsEx، PrivateUsersEx، و PrivatePIDs در نسخهٔ 257 اضافه شدند.
اشیاء Socket Unit
ControlGroupId و ExtensionDirectories در نسخهٔ 251 اضافه شدند.
MemoryZSwapMax و LogFilterPatterns در نسخهٔ 253 اضافه شدند.
DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، MemoryPressureThresholdUSec، RootEphemeral، ImportCredential، MemoryKSM، RootImagePolicy، MountImagePolicy، و ExtensionImagePolicy در نسخهٔ 254 اضافه شدند.
PollLimitIntervalUSec، PollLimitBurst، NFTSet، SetLoginEnvironment، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، MemoryZSwapWriteback، و PassFileDescriptorsToExec در نسخهٔ 256 اضافه شدند.
PrivateTmpEx، ImportCredentialEx، BindLogSockets، PrivateUsersEx، ManagedOOMMemoryPressureDurationUSec، ProtectControlGroupsEx، و PrivatePIDs در نسخهٔ 257 اضافه شدند.
اشیاء Mount Unit
ControlGroupId و ExtensionDirectories در نسخهٔ 251 اضافه شدند.
MemoryZSwapMax و LogFilterPatterns در نسخهٔ 253 اضافه شدند.
DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، MemoryPressureThresholdUSec، RootEphemeral، ImportCredential، MemoryKSM، RootImagePolicy، MountImagePolicy، و ExtensionImagePolicy در نسخهٔ 254 اضافه شدند.
NFTSet، SetLoginEnvironment، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، و MemoryZSwapWriteback در نسخهٔ 256 اضافه شدند.
PrivateTmpEx، ImportCredentialEx، BindLogSockets، PrivateUsersEx، ManagedOOMMemoryPressureDurationUSec، ProtectControlGroupsEx، و PrivatePIDs در نسخهٔ 257 اضافه شدند.
اشیاء Swap Unit
ControlGroupId و ExtensionDirectories در نسخهٔ 251 اضافه شدند.
MemoryZSwapMax و LogFilterPatterns در نسخهٔ 253 اضافه شدند.
DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، MemoryPressureThresholdUSec، RootEphemeral، ImportCredential، MemoryKSM، RootImagePolicy، MountImagePolicy، و ExtensionImagePolicy در نسخهٔ 254 اضافه شدند.
NFTSet، SetLoginEnvironment، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، و MemoryZSwapWriteback در نسخهٔ 256 اضافه شدند.
PrivateTmpEx، ImportCredentialEx، BindLogSockets، PrivateUsersEx، ManagedOOMMemoryPressureDurationUSec، ProtectControlGroupsEx، و PrivatePIDs در نسخهٔ 257 اضافه شدند.
اشیاء Slice Unit
ControlGroupId در نسخهٔ 251 اضافه شد.
MemoryZSwapMax در نسخهٔ 253 اضافه شد.
DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، و MemoryPressureThresholdUSec در نسخهٔ 254 اضافه شدند.
NFTSet، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، و MemoryZSwapWriteback در نسخهٔ 256 اضافه شدند.
ManagedOOMMemoryPressureDurationUSec در نسخهٔ 257 اضافه شد.
اشیاء Scope Unit
ControlGroupId در نسخهٔ 251 اضافه شد.
OOMPolicy و MemoryZSwapMax در نسخهٔ 253 اضافه شدند.
DelegateSubgroup، DefaultStartupMemoryLow، StartupMemoryLow، StartupMemoryHigh، StartupMemoryMax، StartupMemorySwapMax، StartupMemoryZSwapMax، MemoryPressureWatch، و MemoryPressureThresholdUSec در نسخهٔ 254 اضافه شدند.
NFTSet، CoredumpReceive، MemoryPeak، MemorySwapCurrent، MemorySwapPeak، و MemoryZSwapCurrent در نسخهٔ 255 اضافه شدند.
EffectiveMemoryHigh، EffectiveMemoryMax، EffectiveTasksMax، و MemoryZSwapWriteback در نسخهٔ 256 اضافه شدند.
ManagedOOMMemoryPressureDurationUSec در نسخهٔ 257 اضافه شد.
اشیاء Job
ActivationDetails در نسخهٔ 252 اضافه شد.
اشیاء Timer
DeferReactivation در نسخهٔ 257 اضافه شد.
همچنین ببینید (SEE ALSO)
نکات (NOTES)
- 1.
- polkit
- 2.
- رابط کاربری جدید Control Group
- 3.
- دلایل ادغام /usr
- 4.
- دستورالعملهای معمول نسخهبندی رابط کاربری
| systemd 257.13 |