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