]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
pid1: make TimeoutAbortSec settable for transient units
[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=
370f0dc8
ZJS
47✓ StartLimitIntervalSec=
48✓ StartLimitBurst=
49✓ StartLimitAction=
91d2f195
LP
50✓ FailureAction=
51✓ SuccessAction=
7af67e9a
LP
52✓ FailureActionExitStatus=
53✓ SuccessActionExitStatus=
91d2f195 54✓ AddRef=
370f0dc8 55✓ RebootArgument=
c0d64e0e
YW
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=
047f5d63
PH
229✓ AllowedCPUs=
230✓ AllowedMemoryNodes=
91d2f195 231✓ MemoryAccounting=
acdb4b52 232✓ DefaultMemoryMin=
48422635 233✓ MemoryMin=
c52db42b 234✓ DefaultMemoryLow=
91d2f195
LP
235✓ MemoryLow=
236✓ MemoryHigh=
237✓ MemoryMax=
238✓ MemorySwapMax=
239✓ MemoryLimit=
240✓ DeviceAllow=
241✓ DevicePolicy=
242✓ IOAccounting=
243✓ IOWeight=
244✓ StartupIOWeight=
245✓ IODeviceWeight=
246✓ IOReadBandwidthMax=
247✓ IOWriteBandwidthMax=
248✓ IOReadIOPSMax=
249✓ IOWriteIOPSMax=
250✓ BlockIOAccounting=
251✓ BlockIOWeight=
252✓ StartupBlockIOWeight=
253✓ BlockIODeviceWeight=
254✓ BlockIOReadBandwidth=
255✓ BlockIOWriteBandwidth=
256✓ TasksAccounting=
257✓ TasksMax=
258✓ Delegate=
25cc30c4 259✓ DisableControllers=
91d2f195
LP
260✓ IPAccounting=
261✓ IPAddressAllow=
262✓ IPAddressDeny=
263```
264
265## Process Killing Settings
266
267All process killing settings are available for transient units:
268
269```
270✓ SendSIGKILL=
271✓ SendSIGHUP=
272✓ KillMode=
273✓ KillSignal=
fbb48d4c 274✓ FinalKillSignal=
c87700a1 275✓ WatchdogSignal=
91d2f195
LP
276```
277
278## Service Unit Settings
279
c0d64e0e 280Most service unit settings are available for transient units.
91d2f195
LP
281
282```
c0d64e0e 283✓ PIDFile=
31cd5f63 284✓ ExecCondition=
91d2f195
LP
285✓ ExecStartPre=
286✓ ExecStart=
287✓ ExecStartPost=
288✓ ExecReload=
289✓ ExecStop=
290✓ ExecStopPost=
c0d64e0e
YW
291✓ RestartSec=
292✓ TimeoutStartSec=
293✓ TimeoutStopSec=
dc653bf4 294✓ TimeoutAbortSec=
c0d64e0e 295✓ TimeoutSec=
91d2f195 296✓ RuntimeMaxSec=
c0d64e0e 297✓ WatchdogSec=
91d2f195
LP
298✓ Type=
299✓ Restart=
c0d64e0e 300✓ RootDirectoryStartOnly=
91d2f195 301✓ RemainAfterExit=
c0d64e0e
YW
302✓ GuessMainPID=
303✓ RestartPreventExitStatus=
304✓ RestartForceExitStatus=
305✓ SuccessExitStatus=
91d2f195 306✓ NonBlocking=
c0d64e0e 307✓ BusName=
91d2f195
LP
308✓ FileDescriptorStoreMax=
309✓ NotifyAccess=
310 Sockets=
c0d64e0e
YW
311✓ USBFunctionDescriptors=
312✓ USBFunctionStrings=
91d2f195
LP
313```
314
315## Mount Unit Settings
316
c0d64e0e 317All mount unit settings are available to transient units:
91d2f195
LP
318
319```
320✓ What=
c0d64e0e 321✓ Where=
91d2f195
LP
322✓ Options=
323✓ Type=
c0d64e0e
YW
324✓ TimeoutSec=
325✓ DirectoryMode=
326✓ SloppyOptions=
327✓ LazyUnmount=
328✓ ForceUnmount=
91d2f195
LP
329```
330
331## Automount Unit Settings
332
c0d64e0e 333All automount unit setting is available to transient units:
91d2f195
LP
334
335```
c0d64e0e
YW
336✓ Where=
337✓ DirectoryMode=
91d2f195
LP
338✓ TimeoutIdleSec=
339```
340
341## Timer Unit Settings
342
343Most timer unit settings are available to transient units.
344
345```
91d2f195
LP
346✓ OnActiveSec=
347✓ OnBootSec=
efebb613
LP
348✓ OnCalendar=
349✓ OnClockChange=
91d2f195 350✓ OnStartupSec=
0810e396 351✓ OnTimezoneChange=
91d2f195
LP
352✓ OnUnitActiveSec=
353✓ OnUnitInactiveSec=
d852bda1 354✓ Persistent=
91d2f195
LP
355✓ WakeSystem=
356✓ RemainAfterElapse=
357✓ AccuracySec=
358✓ RandomizedDelaySec=
359 Unit=
360```
361
362## Slice Unit Settings
363
364Slice units are fully supported as transient units, but they have no settings
365of their own beyond the generic unit and resource control settings.
366
367## Scope Unit Settings
368
369Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
370such).
371
372```
9ed7de60 373✓ RuntimeMaxSec=
c0d64e0e
YW
374✓ TimeoutStopSec=
375```
91d2f195
LP
376
377## Socket Unit Settings
378
8a211c8e 379Most socket unit settings are available to transient units.
91d2f195
LP
380
381```
8a211c8e
YW
382✓ ListenStream=
383✓ ListenDatagram=
384✓ ListenSequentialPacket=
385✓ ListenFIFO=
386✓ ListenNetlink=
387✓ ListenSpecial=
388✓ ListenMessageQueue=
389✓ ListenUSBFunction=
390✓ SocketProtocol=
391✓ BindIPv6Only=
392✓ Backlog=
393✓ BindToDevice=
394✓ ExecStartPre=
395✓ ExecStartPost=
396✓ ExecStopPre=
397✓ ExecStopPost=
398✓ TimeoutSec=
399✓ SocketUser=
400✓ SocketGroup=
401✓ SocketMode=
402✓ DirectoryMode=
403✓ Accept=
404✓ Writable=
405✓ MaxConnections=
406✓ MaxConnectionsPerSource=
407✓ KeepAlive=
408✓ KeepAliveTimeSec=
409✓ KeepAliveIntervalSec=
410✓ KeepAliveProbes=
411✓ DeferAcceptSec=
412✓ NoDelay=
413✓ Priority=
414✓ ReceiveBuffer=
415✓ SendBuffer=
416✓ IPTOS=
417✓ IPTTL=
418✓ Mark=
419✓ PipeSize=
420✓ FreeBind=
421✓ Transparent=
422✓ Broadcast=
423✓ PassCredentials=
424✓ PassSecurity=
425✓ TCPCongestion=
426✓ ReusePort=
427✓ MessageQueueMaxMessages=
428✓ MessageQueueMessageSize=
429✓ RemoveOnStop=
430✓ Symlinks=
431✓ FileDescriptorName=
91d2f195 432 Service=
8a211c8e
YW
433✓ TriggerLimitIntervalSec=
434✓ TriggerLimitBurst=
435✓ SmackLabel=
436✓ SmackLabelIPIn=
437✓ SmackLabelIPOut=
438✓ SELinuxContextFromNet=
91d2f195
LP
439```
440
441## Swap Unit Settings
442
443Swap units are currently not available at all as transient units:
444
445```
446 What=
447 Priority=
448 Options=
449 TimeoutSec=
450```
451
452## Path Unit Settings
453
d852bda1 454Most path unit settings are available to transient units.
91d2f195
LP
455
456```
d852bda1
YW
457✓ PathExists=
458✓ PathExistsGlob=
459✓ PathChanged=
460✓ PathModified=
461✓ DirectoryNotEmpty=
91d2f195 462 Unit=
d852bda1
YW
463✓ MakeDirectory=
464✓ DirectoryMode=
91d2f195
LP
465```
466
467## Install Section
468
469The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
470
471```
472 Alias=
473 WantedBy=
474 RequiredBy=
475 Also=
476 DefaultInstance=
477```