]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
scope: Support RuntimeMaxSec= directive in scope units
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
1 ---
2 title: What settings are currently available for transient units?
3 ---
4
5 # What settings are currently available for transient units?
6
7 Our intention is to make all settings that are available as unit file settings
8 also available for transient units, through the D-Bus API. At the moment, some
9 unit types (device, swap, target) are not supported at all via unit types,
10 but most others are pretty well supported, with some notable omissions.
11
12 The lists below contain all settings currently available in unit files. The
13 ones currently available in transient units are prefixed with `✓`.
14
15 ## Generic Unit Settings
16
17 Most generic unit settings are available for transient units.
18
19 ```
20 ✓ Description=
21 ✓ Documentation=
22 ✓ SourcePath=
23 ✓ Requires=
24 ✓ Requisite=
25 ✓ Wants=
26 ✓ BindsTo=
27 ✓ Conflicts=
28 ✓ Before=
29 ✓ After=
30 ✓ OnFailure=
31 ✓ PropagatesReloadTo=
32 ✓ ReloadPropagatedFrom=
33 ✓ PartOf=
34 ✓ JoinsNamespaceOf=
35 ✓ RequiresMountsFor=
36 ✓ StopWhenUnneeded=
37 ✓ RefuseManualStart=
38 ✓ RefuseManualStop=
39 ✓ AllowIsolate=
40 ✓ DefaultDependencies=
41 ✓ OnFailureJobMode=
42 ✓ IgnoreOnIsolate=
43 ✓ JobTimeoutSec=
44 ✓ JobRunningTimeoutSec=
45 ✓ JobTimeoutAction=
46 ✓ JobTimeoutRebootArgument=
47 ✓ StartLimitIntervalSec=SECONDS
48 ✓ StartLimitBurst=UNSIGNED
49 ✓ StartLimitAction=ACTION
50 ✓ FailureAction=
51 ✓ SuccessAction=
52 ✓ FailureActionExitStatus=
53 ✓ SuccessActionExitStatus=
54 ✓ AddRef=
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=
100 ✓ CollectMode=
101 ```
102
103 ## Execution-Related Settings
104
105 All 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=
144 ✓ LogRateLimitIntervalSec=
145 ✓ LogRateLimitBurst=
146 ✓ SecureBits=
147 ✓ CapabilityBoundingSet=
148 ✓ AmbientCapabilities=
149 ✓ TimerSlackNSec=
150 ✓ NoNewPrivileges=
151 ✓ KeyringMode=
152 ✓ SystemCallFilter=
153 ✓ SystemCallArchitectures=
154 ✓ SystemCallErrorNumber=
155 ✓ MemoryDenyWriteExecute=
156 ✓ RestrictNamespaces=
157 ✓ RestrictRealtime=
158 ✓ RestrictSUIDSGID=
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=
182 ✓ TemporaryFileSystem=
183 ✓ PrivateTmp=
184 ✓ PrivateDevices=
185 ✓ PrivateMounts=
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
219 All cgroup/resource control settings are available for transient units
220
221 ```
222 ✓ CPUAccounting=
223 ✓ CPUWeight=
224 ✓ StartupCPUWeight=
225 ✓ CPUShares=
226 ✓ StartupCPUShares=
227 ✓ CPUQuota=
228 ✓ CPUQuotaPeriodSec=
229 ✓ MemoryAccounting=
230 ✓ DefaultMemoryMin=
231 ✓ MemoryMin=
232 ✓ DefaultMemoryLow=
233 ✓ MemoryLow=
234 ✓ MemoryHigh=
235 ✓ MemoryMax=
236 ✓ MemorySwapMax=
237 ✓ MemoryLimit=
238 ✓ DeviceAllow=
239 ✓ DevicePolicy=
240 ✓ IOAccounting=
241 ✓ IOWeight=
242 ✓ StartupIOWeight=
243 ✓ IODeviceWeight=
244 ✓ IOReadBandwidthMax=
245 ✓ IOWriteBandwidthMax=
246 ✓ IOReadIOPSMax=
247 ✓ IOWriteIOPSMax=
248 ✓ BlockIOAccounting=
249 ✓ BlockIOWeight=
250 ✓ StartupBlockIOWeight=
251 ✓ BlockIODeviceWeight=
252 ✓ BlockIOReadBandwidth=
253 ✓ BlockIOWriteBandwidth=
254 ✓ TasksAccounting=
255 ✓ TasksMax=
256 ✓ Delegate=
257 ✓ DisableControllers=
258 ✓ IPAccounting=
259 ✓ IPAddressAllow=
260 ✓ IPAddressDeny=
261 ```
262
263 ## Process Killing Settings
264
265 All process killing settings are available for transient units:
266
267 ```
268 ✓ SendSIGKILL=
269 ✓ SendSIGHUP=
270 ✓ KillMode=
271 ✓ KillSignal=
272 ✓ FinalKillSignal=
273 ✓ WatchdogSignal=
274 ```
275
276 ## Service Unit Settings
277
278 Most service unit settings are available for transient units.
279
280 ```
281 ✓ PIDFile=
282 ✓ ExecCondition=
283 ✓ ExecStartPre=
284 ✓ ExecStart=
285 ✓ ExecStartPost=
286 ✓ ExecReload=
287 ✓ ExecStop=
288 ✓ ExecStopPost=
289 ✓ RestartSec=
290 ✓ TimeoutStartSec=
291 ✓ TimeoutStopSec=
292 ✓ TimeoutAbortSec=
293 ✓ TimeoutSec=
294 ✓ RuntimeMaxSec=
295 ✓ WatchdogSec=
296 ✓ Type=
297 ✓ Restart=
298 ✓ RootDirectoryStartOnly=
299 ✓ RemainAfterExit=
300 ✓ GuessMainPID=
301 ✓ RestartPreventExitStatus=
302 ✓ RestartForceExitStatus=
303 ✓ SuccessExitStatus=
304 ✓ NonBlocking=
305 ✓ BusName=
306 ✓ FileDescriptorStoreMax=
307 ✓ NotifyAccess=
308 Sockets=
309 ✓ USBFunctionDescriptors=
310 ✓ USBFunctionStrings=
311 ```
312
313 ## Mount Unit Settings
314
315 All mount unit settings are available to transient units:
316
317 ```
318 ✓ What=
319 ✓ Where=
320 ✓ Options=
321 ✓ Type=
322 ✓ TimeoutSec=
323 ✓ DirectoryMode=
324 ✓ SloppyOptions=
325 ✓ LazyUnmount=
326 ✓ ForceUnmount=
327 ```
328
329 ## Automount Unit Settings
330
331 All automount unit setting is available to transient units:
332
333 ```
334 ✓ Where=
335 ✓ DirectoryMode=
336 ✓ TimeoutIdleSec=
337 ```
338
339 ## Timer Unit Settings
340
341 Most timer unit settings are available to transient units.
342
343 ```
344 ✓ OnActiveSec=
345 ✓ OnBootSec=
346 ✓ OnCalendar=
347 ✓ OnClockChange=
348 ✓ OnStartupSec=
349 ✓ OnTimezoneChange
350 ✓ OnUnitActiveSec=
351 ✓ OnUnitInactiveSec=
352 ✓ Persistent=
353 ✓ WakeSystem=
354 ✓ RemainAfterElapse=
355 ✓ AccuracySec=
356 ✓ RandomizedDelaySec=
357 Unit=
358 ```
359
360 ## Slice Unit Settings
361
362 Slice units are fully supported as transient units, but they have no settings
363 of their own beyond the generic unit and resource control settings.
364
365 ## Scope Unit Settings
366
367 Scope units are fully supported as transient units (in fact they only exist as
368 such).
369
370 ```
371 ✓ RuntimeMaxSec=
372 ✓ TimeoutStopSec=
373 ```
374
375 ## Socket Unit Settings
376
377 Most socket unit settings are available to transient units.
378
379 ```
380 ✓ ListenStream=
381 ✓ ListenDatagram=
382 ✓ ListenSequentialPacket=
383 ✓ ListenFIFO=
384 ✓ ListenNetlink=
385 ✓ ListenSpecial=
386 ✓ ListenMessageQueue=
387 ✓ ListenUSBFunction=
388 ✓ SocketProtocol=
389 ✓ BindIPv6Only=
390 ✓ Backlog=
391 ✓ BindToDevice=
392 ✓ ExecStartPre=
393 ✓ ExecStartPost=
394 ✓ ExecStopPre=
395 ✓ ExecStopPost=
396 ✓ TimeoutSec=
397 ✓ SocketUser=
398 ✓ SocketGroup=
399 ✓ SocketMode=
400 ✓ DirectoryMode=
401 ✓ Accept=
402 ✓ Writable=
403 ✓ MaxConnections=
404 ✓ MaxConnectionsPerSource=
405 ✓ KeepAlive=
406 ✓ KeepAliveTimeSec=
407 ✓ KeepAliveIntervalSec=
408 ✓ KeepAliveProbes=
409 ✓ DeferAcceptSec=
410 ✓ NoDelay=
411 ✓ Priority=
412 ✓ ReceiveBuffer=
413 ✓ SendBuffer=
414 ✓ IPTOS=
415 ✓ IPTTL=
416 ✓ Mark=
417 ✓ PipeSize=
418 ✓ FreeBind=
419 ✓ Transparent=
420 ✓ Broadcast=
421 ✓ PassCredentials=
422 ✓ PassSecurity=
423 ✓ TCPCongestion=
424 ✓ ReusePort=
425 ✓ MessageQueueMaxMessages=
426 ✓ MessageQueueMessageSize=
427 ✓ RemoveOnStop=
428 ✓ Symlinks=
429 ✓ FileDescriptorName=
430 Service=
431 ✓ TriggerLimitIntervalSec=
432 ✓ TriggerLimitBurst=
433 ✓ SmackLabel=
434 ✓ SmackLabelIPIn=
435 ✓ SmackLabelIPOut=
436 ✓ SELinuxContextFromNet=
437 ```
438
439 ## Swap Unit Settings
440
441 Swap units are currently not available at all as transient units:
442
443 ```
444 What=
445 Priority=
446 Options=
447 TimeoutSec=
448 ```
449
450 ## Path Unit Settings
451
452 Most path unit settings are available to transient units.
453
454 ```
455 ✓ PathExists=
456 ✓ PathExistsGlob=
457 ✓ PathChanged=
458 ✓ PathModified=
459 ✓ DirectoryNotEmpty=
460 Unit=
461 ✓ MakeDirectory=
462 ✓ DirectoryMode=
463 ```
464
465 ## Install Section
466
467 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
468
469 ```
470 Alias=
471 WantedBy=
472 RequiredBy=
473 Also=
474 DefaultInstance=
475 ```