]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
tree-wide: fix spelling errors
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
CommitLineData
c3e270f4 1---
b35ec8de 2title: What Settings Are Currently Available For Transient Units?
4cdca0af 3category: Interfaces
b41a3f66 4layout: default
c3e270f4
FB
5---
6
b35ec8de 7# What Settings Are Currently Available For Transient Units?
91d2f195
LP
8
9Our intention is to make all settings that are available as unit file settings
b096d14c
ZJS
10also available for transient units, through the D-Bus API. At the moment,
11device, swap, and target units are not supported at all as transient units, but
12others are pretty well supported.
91d2f195
LP
13
14The lists below contain all settings currently available in unit files. The
15ones currently available in transient units are prefixed with `✓`.
16
17## Generic Unit Settings
18
c0d64e0e 19Most generic unit settings are available for transient units.
91d2f195
LP
20
21```
22✓ Description=
c0d64e0e
YW
23✓ Documentation=
24✓ SourcePath=
91d2f195
LP
25✓ Requires=
26✓ Requisite=
27✓ Wants=
28✓ BindsTo=
29✓ Conflicts=
30✓ Before=
31✓ After=
32✓ OnFailure=
33✓ PropagatesReloadTo=
34✓ ReloadPropagatedFrom=
35✓ PartOf=
c0d64e0e
YW
36✓ JoinsNamespaceOf=
37✓ RequiresMountsFor=
38✓ StopWhenUnneeded=
39✓ RefuseManualStart=
40✓ RefuseManualStop=
41✓ AllowIsolate=
91d2f195 42✓ DefaultDependencies=
c0d64e0e
YW
43✓ OnFailureJobMode=
44✓ IgnoreOnIsolate=
45✓ JobTimeoutSec=
46✓ JobRunningTimeoutSec=
47✓ JobTimeoutAction=
48✓ JobTimeoutRebootArgument=
370f0dc8
ZJS
49✓ StartLimitIntervalSec=
50✓ StartLimitBurst=
51✓ StartLimitAction=
91d2f195
LP
52✓ FailureAction=
53✓ SuccessAction=
7af67e9a
LP
54✓ FailureActionExitStatus=
55✓ SuccessActionExitStatus=
370f0dc8 56✓ RebootArgument=
c0d64e0e
YW
57✓ ConditionPathExists=
58✓ ConditionPathExistsGlob=
59✓ ConditionPathIsDirectory=
60✓ ConditionPathIsSymbolicLink=
61✓ ConditionPathIsMountPoint=
62✓ ConditionPathIsReadWrite=
63✓ ConditionDirectoryNotEmpty=
64✓ ConditionFileNotEmpty=
65✓ ConditionFileIsExecutable=
66✓ ConditionNeedsUpdate=
67✓ ConditionFirstBoot=
68✓ ConditionKernelCommandLine=
69✓ ConditionKernelVersion=
70✓ ConditionArchitecture=
71✓ ConditionVirtualization=
72✓ ConditionSecurity=
73✓ ConditionCapability=
74✓ ConditionHost=
75✓ ConditionACPower=
76✓ ConditionUser=
77✓ ConditionGroup=
78✓ ConditionControlGroupController=
79✓ AssertPathExists=
80✓ AssertPathExistsGlob=
81✓ AssertPathIsDirectory=
82✓ AssertPathIsSymbolicLink=
83✓ AssertPathIsMountPoint=
84✓ AssertPathIsReadWrite=
85✓ AssertDirectoryNotEmpty=
86✓ AssertFileNotEmpty=
87✓ AssertFileIsExecutable=
88✓ AssertNeedsUpdate=
89✓ AssertFirstBoot=
90✓ AssertKernelCommandLine=
91✓ AssertKernelVersion=
92✓ AssertArchitecture=
93✓ AssertVirtualization=
94✓ AssertSecurity=
95✓ AssertCapability=
96✓ AssertHost=
97✓ AssertACPower=
98✓ AssertUser=
99✓ AssertGroup=
100✓ AssertControlGroupController=
91d2f195
LP
101✓ CollectMode=
102```
103
104## Execution-Related Settings
105
106All execution-related settings are available for transient units.
107
108```
109✓ WorkingDirectory=
110✓ RootDirectory=
111✓ RootImage=
112✓ User=
113✓ Group=
114✓ SupplementaryGroups=
115✓ Nice=
116✓ OOMScoreAdjust=
ad21e542 117✓ CoredumpFilter=
91d2f195
LP
118✓ IOSchedulingClass=
119✓ IOSchedulingPriority=
120✓ CPUSchedulingPolicy=
121✓ CPUSchedulingPriority=
122✓ CPUSchedulingResetOnFork=
123✓ CPUAffinity=
124✓ UMask=
125✓ Environment=
126✓ EnvironmentFile=
127✓ PassEnvironment=
128✓ UnsetEnvironment=
129✓ DynamicUser=
130✓ RemoveIPC=
131✓ StandardInput=
132✓ StandardOutput=
133✓ StandardError=
134✓ StandardInputText=
135✓ StandardInputData=
136✓ TTYPath=
137✓ TTYReset=
138✓ TTYVHangup=
139✓ TTYVTDisallocate=
140✓ SyslogIdentifier=
141✓ SyslogFacility=
142✓ SyslogLevel=
143✓ SyslogLevelPrefix=
144✓ LogLevelMax=
145✓ LogExtraFields=
90fc172e
AZ
146✓ LogRateLimitIntervalSec=
147✓ LogRateLimitBurst=
91d2f195
LP
148✓ SecureBits=
149✓ CapabilityBoundingSet=
150✓ AmbientCapabilities=
151✓ TimerSlackNSec=
152✓ NoNewPrivileges=
153✓ KeyringMode=
154✓ SystemCallFilter=
155✓ SystemCallArchitectures=
156✓ SystemCallErrorNumber=
157✓ MemoryDenyWriteExecute=
158✓ RestrictNamespaces=
159✓ RestrictRealtime=
7445db6e 160✓ RestrictSUIDSGID=
91d2f195
LP
161✓ RestrictAddressFamilies=
162✓ LockPersonality=
163✓ LimitCPU=
164✓ LimitFSIZE=
165✓ LimitDATA=
166✓ LimitSTACK=
167✓ LimitCORE=
168✓ LimitRSS=
169✓ LimitNOFILE=
170✓ LimitAS=
171✓ LimitNPROC=
172✓ LimitMEMLOCK=
173✓ LimitLOCKS=
174✓ LimitSIGPENDING=
175✓ LimitMSGQUEUE=
176✓ LimitNICE=
177✓ LimitRTPRIO=
178✓ LimitRTTIME=
179✓ ReadWritePaths=
180✓ ReadOnlyPaths=
181✓ InaccessiblePaths=
182✓ BindPaths=
183✓ BindReadOnlyPaths=
24743efe 184✓ TemporaryFileSystem=
91d2f195
LP
185✓ PrivateTmp=
186✓ PrivateDevices=
31f06f56 187✓ PrivateMounts=
91d2f195
LP
188✓ ProtectKernelTunables=
189✓ ProtectKernelModules=
b096d14c 190✓ ProtectKernelLogs=
91d2f195
LP
191✓ ProtectControlGroups=
192✓ PrivateNetwork=
193✓ PrivateUsers=
194✓ ProtectSystem=
195✓ ProtectHome=
022d3345 196✓ ProtectClock=
91d2f195
LP
197✓ MountFlags=
198✓ MountAPIVFS=
199✓ Personality=
200✓ RuntimeDirectoryPreserve=
201✓ RuntimeDirectoryMode=
202✓ RuntimeDirectory=
203✓ StateDirectoryMode=
204✓ StateDirectory=
205✓ CacheDirectoryMode=
206✓ CacheDirectory=
207✓ LogsDirectoryMode=
208✓ LogsDirectory=
209✓ ConfigurationDirectoryMode=
210✓ ConfigurationDirectory=
211✓ PAMName=
212✓ IgnoreSIGPIPE=
213✓ UtmpIdentifier=
214✓ UtmpMode=
215✓ SELinuxContext=
216✓ SmackProcessLabel=
217✓ AppArmorProfile=
218✓ Slice=
219```
220
221## Resource Control Settings
222
223All cgroup/resource control settings are available for transient units
224
225```
226✓ CPUAccounting=
227✓ CPUWeight=
228✓ StartupCPUWeight=
229✓ CPUShares=
230✓ StartupCPUShares=
231✓ CPUQuota=
10f28641 232✓ CPUQuotaPeriodSec=
047f5d63
PH
233✓ AllowedCPUs=
234✓ AllowedMemoryNodes=
91d2f195 235✓ MemoryAccounting=
acdb4b52 236✓ DefaultMemoryMin=
48422635 237✓ MemoryMin=
c52db42b 238✓ DefaultMemoryLow=
91d2f195
LP
239✓ MemoryLow=
240✓ MemoryHigh=
241✓ MemoryMax=
242✓ MemorySwapMax=
243✓ MemoryLimit=
244✓ DeviceAllow=
245✓ DevicePolicy=
246✓ IOAccounting=
247✓ IOWeight=
248✓ StartupIOWeight=
249✓ IODeviceWeight=
250✓ IOReadBandwidthMax=
251✓ IOWriteBandwidthMax=
252✓ IOReadIOPSMax=
253✓ IOWriteIOPSMax=
254✓ BlockIOAccounting=
255✓ BlockIOWeight=
256✓ StartupBlockIOWeight=
257✓ BlockIODeviceWeight=
258✓ BlockIOReadBandwidth=
259✓ BlockIOWriteBandwidth=
260✓ TasksAccounting=
261✓ TasksMax=
262✓ Delegate=
25cc30c4 263✓ DisableControllers=
91d2f195
LP
264✓ IPAccounting=
265✓ IPAddressAllow=
266✓ IPAddressDeny=
267```
268
269## Process Killing Settings
270
271All process killing settings are available for transient units:
272
273```
274✓ SendSIGKILL=
275✓ SendSIGHUP=
276✓ KillMode=
277✓ KillSignal=
b096d14c 278✓ RestartKillSignal=
fbb48d4c 279✓ FinalKillSignal=
c87700a1 280✓ WatchdogSignal=
91d2f195
LP
281```
282
283## Service Unit Settings
284
c0d64e0e 285Most service unit settings are available for transient units.
91d2f195
LP
286
287```
c0d64e0e 288✓ PIDFile=
31cd5f63 289✓ ExecCondition=
91d2f195
LP
290✓ ExecStartPre=
291✓ ExecStart=
292✓ ExecStartPost=
293✓ ExecReload=
294✓ ExecStop=
295✓ ExecStopPost=
c0d64e0e
YW
296✓ RestartSec=
297✓ TimeoutStartSec=
298✓ TimeoutStopSec=
dc653bf4 299✓ TimeoutAbortSec=
c0d64e0e 300✓ TimeoutSec=
91d2f195 301✓ RuntimeMaxSec=
c0d64e0e 302✓ WatchdogSec=
91d2f195
LP
303✓ Type=
304✓ Restart=
c0d64e0e 305✓ RootDirectoryStartOnly=
91d2f195 306✓ RemainAfterExit=
c0d64e0e
YW
307✓ GuessMainPID=
308✓ RestartPreventExitStatus=
309✓ RestartForceExitStatus=
310✓ SuccessExitStatus=
91d2f195 311✓ NonBlocking=
c0d64e0e 312✓ BusName=
91d2f195
LP
313✓ FileDescriptorStoreMax=
314✓ NotifyAccess=
315 Sockets=
c0d64e0e
YW
316✓ USBFunctionDescriptors=
317✓ USBFunctionStrings=
b096d14c 318✓ OOMPolicy=
91d2f195
LP
319```
320
321## Mount Unit Settings
322
c0d64e0e 323All mount unit settings are available to transient units:
91d2f195
LP
324
325```
326✓ What=
c0d64e0e 327✓ Where=
91d2f195
LP
328✓ Options=
329✓ Type=
c0d64e0e
YW
330✓ TimeoutSec=
331✓ DirectoryMode=
332✓ SloppyOptions=
333✓ LazyUnmount=
334✓ ForceUnmount=
91d2f195
LP
335```
336
337## Automount Unit Settings
338
c0d64e0e 339All automount unit setting is available to transient units:
91d2f195
LP
340
341```
c0d64e0e
YW
342✓ Where=
343✓ DirectoryMode=
91d2f195
LP
344✓ TimeoutIdleSec=
345```
346
347## Timer Unit Settings
348
349Most timer unit settings are available to transient units.
350
351```
91d2f195
LP
352✓ OnActiveSec=
353✓ OnBootSec=
efebb613
LP
354✓ OnCalendar=
355✓ OnClockChange=
91d2f195 356✓ OnStartupSec=
0810e396 357✓ OnTimezoneChange=
91d2f195
LP
358✓ OnUnitActiveSec=
359✓ OnUnitInactiveSec=
d852bda1 360✓ Persistent=
91d2f195
LP
361✓ WakeSystem=
362✓ RemainAfterElapse=
363✓ AccuracySec=
364✓ RandomizedDelaySec=
365 Unit=
366```
367
368## Slice Unit Settings
369
370Slice units are fully supported as transient units, but they have no settings
371of their own beyond the generic unit and resource control settings.
372
373## Scope Unit Settings
374
375Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
376such).
377
378```
9ed7de60 379✓ RuntimeMaxSec=
c0d64e0e
YW
380✓ TimeoutStopSec=
381```
91d2f195
LP
382
383## Socket Unit Settings
384
8a211c8e 385Most socket unit settings are available to transient units.
91d2f195
LP
386
387```
8a211c8e
YW
388✓ ListenStream=
389✓ ListenDatagram=
390✓ ListenSequentialPacket=
391✓ ListenFIFO=
392✓ ListenNetlink=
393✓ ListenSpecial=
394✓ ListenMessageQueue=
395✓ ListenUSBFunction=
396✓ SocketProtocol=
397✓ BindIPv6Only=
398✓ Backlog=
399✓ BindToDevice=
400✓ ExecStartPre=
401✓ ExecStartPost=
402✓ ExecStopPre=
403✓ ExecStopPost=
404✓ TimeoutSec=
405✓ SocketUser=
406✓ SocketGroup=
407✓ SocketMode=
408✓ DirectoryMode=
409✓ Accept=
410✓ Writable=
411✓ MaxConnections=
412✓ MaxConnectionsPerSource=
413✓ KeepAlive=
414✓ KeepAliveTimeSec=
415✓ KeepAliveIntervalSec=
416✓ KeepAliveProbes=
417✓ DeferAcceptSec=
418✓ NoDelay=
419✓ Priority=
420✓ ReceiveBuffer=
421✓ SendBuffer=
422✓ IPTOS=
423✓ IPTTL=
424✓ Mark=
425✓ PipeSize=
426✓ FreeBind=
427✓ Transparent=
428✓ Broadcast=
429✓ PassCredentials=
430✓ PassSecurity=
431✓ TCPCongestion=
432✓ ReusePort=
433✓ MessageQueueMaxMessages=
434✓ MessageQueueMessageSize=
435✓ RemoveOnStop=
436✓ Symlinks=
437✓ FileDescriptorName=
91d2f195 438 Service=
8a211c8e
YW
439✓ TriggerLimitIntervalSec=
440✓ TriggerLimitBurst=
441✓ SmackLabel=
442✓ SmackLabelIPIn=
443✓ SmackLabelIPOut=
444✓ SELinuxContextFromNet=
91d2f195
LP
445```
446
447## Swap Unit Settings
448
449Swap units are currently not available at all as transient units:
450
451```
452 What=
453 Priority=
454 Options=
455 TimeoutSec=
456```
457
458## Path Unit Settings
459
d852bda1 460Most path unit settings are available to transient units.
91d2f195
LP
461
462```
d852bda1
YW
463✓ PathExists=
464✓ PathExistsGlob=
465✓ PathChanged=
466✓ PathModified=
467✓ DirectoryNotEmpty=
91d2f195 468 Unit=
d852bda1
YW
469✓ MakeDirectory=
470✓ DirectoryMode=
91d2f195
LP
471```
472
473## Install Section
474
475The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
476
477```
478 Alias=
479 WantedBy=
480 RequiredBy=
481 Also=
482 DefaultInstance=
483```