]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
Merge pull request #14112 from keszybz/restart-no-log
[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 ✓ AllowedCPUs=
230 ✓ AllowedMemoryNodes=
231 ✓ MemoryAccounting=
232 ✓ DefaultMemoryMin=
233 ✓ MemoryMin=
234 ✓ DefaultMemoryLow=
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=
259 ✓ DisableControllers=
260 ✓ IPAccounting=
261 ✓ IPAddressAllow=
262 ✓ IPAddressDeny=
263 ```
264
265 ## Process Killing Settings
266
267 All process killing settings are available for transient units:
268
269 ```
270 ✓ SendSIGKILL=
271 ✓ SendSIGHUP=
272 ✓ KillMode=
273 ✓ KillSignal=
274 ✓ FinalKillSignal=
275 ✓ WatchdogSignal=
276 ```
277
278 ## Service Unit Settings
279
280 Most service unit settings are available for transient units.
281
282 ```
283 ✓ PIDFile=
284 ✓ ExecCondition=
285 ✓ ExecStartPre=
286 ✓ ExecStart=
287 ✓ ExecStartPost=
288 ✓ ExecReload=
289 ✓ ExecStop=
290 ✓ ExecStopPost=
291 ✓ RestartSec=
292 ✓ TimeoutStartSec=
293 ✓ TimeoutStopSec=
294 ✓ TimeoutAbortSec=
295 ✓ TimeoutSec=
296 ✓ RuntimeMaxSec=
297 ✓ WatchdogSec=
298 ✓ Type=
299 ✓ Restart=
300 ✓ RootDirectoryStartOnly=
301 ✓ RemainAfterExit=
302 ✓ GuessMainPID=
303 ✓ RestartPreventExitStatus=
304 ✓ RestartForceExitStatus=
305 ✓ SuccessExitStatus=
306 ✓ NonBlocking=
307 ✓ BusName=
308 ✓ FileDescriptorStoreMax=
309 ✓ NotifyAccess=
310 Sockets=
311 ✓ USBFunctionDescriptors=
312 ✓ USBFunctionStrings=
313 ```
314
315 ## Mount Unit Settings
316
317 All mount unit settings are available to transient units:
318
319 ```
320 ✓ What=
321 ✓ Where=
322 ✓ Options=
323 ✓ Type=
324 ✓ TimeoutSec=
325 ✓ DirectoryMode=
326 ✓ SloppyOptions=
327 ✓ LazyUnmount=
328 ✓ ForceUnmount=
329 ```
330
331 ## Automount Unit Settings
332
333 All automount unit setting is available to transient units:
334
335 ```
336 ✓ Where=
337 ✓ DirectoryMode=
338 ✓ TimeoutIdleSec=
339 ```
340
341 ## Timer Unit Settings
342
343 Most timer unit settings are available to transient units.
344
345 ```
346 ✓ OnActiveSec=
347 ✓ OnBootSec=
348 ✓ OnCalendar=
349 ✓ OnClockChange=
350 ✓ OnStartupSec=
351 ✓ OnTimezoneChange
352 ✓ OnUnitActiveSec=
353 ✓ OnUnitInactiveSec=
354 ✓ Persistent=
355 ✓ WakeSystem=
356 ✓ RemainAfterElapse=
357 ✓ AccuracySec=
358 ✓ RandomizedDelaySec=
359 Unit=
360 ```
361
362 ## Slice Unit Settings
363
364 Slice units are fully supported as transient units, but they have no settings
365 of their own beyond the generic unit and resource control settings.
366
367 ## Scope Unit Settings
368
369 Scope units are fully supported as transient units (in fact they only exist as
370 such).
371
372 ```
373 ✓ RuntimeMaxSec=
374 ✓ TimeoutStopSec=
375 ```
376
377 ## Socket Unit Settings
378
379 Most socket unit settings are available to transient units.
380
381 ```
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=
432 Service=
433 ✓ TriggerLimitIntervalSec=
434 ✓ TriggerLimitBurst=
435 ✓ SmackLabel=
436 ✓ SmackLabelIPIn=
437 ✓ SmackLabelIPOut=
438 ✓ SELinuxContextFromNet=
439 ```
440
441 ## Swap Unit Settings
442
443 Swap 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
454 Most path unit settings are available to transient units.
455
456 ```
457 ✓ PathExists=
458 ✓ PathExistsGlob=
459 ✓ PathChanged=
460 ✓ PathModified=
461 ✓ DirectoryNotEmpty=
462 Unit=
463 ✓ MakeDirectory=
464 ✓ DirectoryMode=
465 ```
466
467 ## Install Section
468
469 The `[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 ```