]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
log: include TID= field in structred log output
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
1 ---
2 title: What Settings Are Currently Available For Transient Units?
3 category: Interfaces
4 layout: default
5 ---
6
7 # What Settings Are Currently Available For Transient Units?
8
9 Our intention is to make all settings that are available as unit file settings
10 also available for transient units, through the D-Bus API. At the moment,
11 device, swap, and target units are not supported at all as transient units, but
12 others are pretty well supported.
13
14 The lists below contain all settings currently available in unit files. The
15 ones currently available in transient units are prefixed with `✓`.
16
17 ## Generic Unit Settings
18
19 Most generic unit settings are available for transient units.
20
21 ```
22 ✓ Description=
23 ✓ Documentation=
24 ✓ SourcePath=
25 ✓ Requires=
26 ✓ Requisite=
27 ✓ Wants=
28 ✓ BindsTo=
29 ✓ Conflicts=
30 ✓ Before=
31 ✓ After=
32 ✓ OnFailure=
33 ✓ PropagatesReloadTo=
34 ✓ ReloadPropagatedFrom=
35 ✓ PartOf=
36 ✓ JoinsNamespaceOf=
37 ✓ RequiresMountsFor=
38 ✓ StopWhenUnneeded=
39 ✓ RefuseManualStart=
40 ✓ RefuseManualStop=
41 ✓ AllowIsolate=
42 ✓ DefaultDependencies=
43 ✓ OnFailureJobMode=
44 ✓ IgnoreOnIsolate=
45 ✓ JobTimeoutSec=
46 ✓ JobRunningTimeoutSec=
47 ✓ JobTimeoutAction=
48 ✓ JobTimeoutRebootArgument=
49 ✓ StartLimitIntervalSec=
50 ✓ StartLimitBurst=
51 ✓ StartLimitAction=
52 ✓ FailureAction=
53 ✓ SuccessAction=
54 ✓ FailureActionExitStatus=
55 ✓ SuccessActionExitStatus=
56 ✓ RebootArgument=
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=
101 ✓ CollectMode=
102 ```
103
104 ## Execution-Related Settings
105
106 All 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=
117 ✓ CoredumpFilter=
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=
146 ✓ LogRateLimitIntervalSec=
147 ✓ LogRateLimitBurst=
148 ✓ SecureBits=
149 ✓ CapabilityBoundingSet=
150 ✓ AmbientCapabilities=
151 ✓ TimerSlackNSec=
152 ✓ NoNewPrivileges=
153 ✓ KeyringMode=
154 ✓ ProtectProc=
155 ✓ ProcSubset=
156 ✓ SystemCallFilter=
157 ✓ SystemCallArchitectures=
158 ✓ SystemCallErrorNumber=
159 ✓ SystemCallLog=
160 ✓ MemoryDenyWriteExecute=
161 ✓ RestrictNamespaces=
162 ✓ RestrictRealtime=
163 ✓ RestrictSUIDSGID=
164 ✓ RestrictAddressFamilies=
165 ✓ RootHash=
166 ✓ RootHashSignature=
167 ✓ RootVerity=
168 ✓ LockPersonality=
169 ✓ LimitCPU=
170 ✓ LimitFSIZE=
171 ✓ LimitDATA=
172 ✓ LimitSTACK=
173 ✓ LimitCORE=
174 ✓ LimitRSS=
175 ✓ LimitNOFILE=
176 ✓ LimitAS=
177 ✓ LimitNPROC=
178 ✓ LimitMEMLOCK=
179 ✓ LimitLOCKS=
180 ✓ LimitSIGPENDING=
181 ✓ LimitMSGQUEUE=
182 ✓ LimitNICE=
183 ✓ LimitRTPRIO=
184 ✓ LimitRTTIME=
185 ✓ ReadWritePaths=
186 ✓ ReadOnlyPaths=
187 ✓ InaccessiblePaths=
188 ✓ BindPaths=
189 ✓ BindReadOnlyPaths=
190 ✓ TemporaryFileSystem=
191 ✓ PrivateTmp=
192 ✓ PrivateDevices=
193 ✓ PrivateMounts=
194 ✓ ProtectKernelTunables=
195 ✓ ProtectKernelModules=
196 ✓ ProtectKernelLogs=
197 ✓ ProtectControlGroups=
198 ✓ PrivateNetwork=
199 ✓ PrivateUsers=
200 ✓ ProtectSystem=
201 ✓ ProtectHome=
202 ✓ ProtectClock=
203 ✓ MountFlags=
204 ✓ MountAPIVFS=
205 ✓ Personality=
206 ✓ RuntimeDirectoryPreserve=
207 ✓ RuntimeDirectoryMode=
208 ✓ RuntimeDirectory=
209 ✓ StateDirectoryMode=
210 ✓ StateDirectory=
211 ✓ CacheDirectoryMode=
212 ✓ CacheDirectory=
213 ✓ LogsDirectoryMode=
214 ✓ LogsDirectory=
215 ✓ ConfigurationDirectoryMode=
216 ✓ ConfigurationDirectory=
217 ✓ PAMName=
218 ✓ IgnoreSIGPIPE=
219 ✓ UtmpIdentifier=
220 ✓ UtmpMode=
221 ✓ SELinuxContext=
222 ✓ SmackProcessLabel=
223 ✓ AppArmorProfile=
224 ✓ Slice=
225 ```
226
227 ## Resource Control Settings
228
229 All cgroup/resource control settings are available for transient units
230
231 ```
232 ✓ CPUAccounting=
233 ✓ CPUWeight=
234 ✓ StartupCPUWeight=
235 ✓ CPUShares=
236 ✓ StartupCPUShares=
237 ✓ CPUQuota=
238 ✓ CPUQuotaPeriodSec=
239 ✓ AllowedCPUs=
240 ✓ AllowedMemoryNodes=
241 ✓ MemoryAccounting=
242 ✓ DefaultMemoryMin=
243 ✓ MemoryMin=
244 ✓ DefaultMemoryLow=
245 ✓ MemoryLow=
246 ✓ MemoryHigh=
247 ✓ MemoryMax=
248 ✓ MemorySwapMax=
249 ✓ MemoryLimit=
250 ✓ DeviceAllow=
251 ✓ DevicePolicy=
252 ✓ IOAccounting=
253 ✓ IOWeight=
254 ✓ StartupIOWeight=
255 ✓ IODeviceWeight=
256 ✓ IOReadBandwidthMax=
257 ✓ IOWriteBandwidthMax=
258 ✓ IOReadIOPSMax=
259 ✓ IOWriteIOPSMax=
260 ✓ BlockIOAccounting=
261 ✓ BlockIOWeight=
262 ✓ StartupBlockIOWeight=
263 ✓ BlockIODeviceWeight=
264 ✓ BlockIOReadBandwidth=
265 ✓ BlockIOWriteBandwidth=
266 ✓ TasksAccounting=
267 ✓ TasksMax=
268 ✓ Delegate=
269 ✓ DisableControllers=
270 ✓ IPAccounting=
271 ✓ IPAddressAllow=
272 ✓ IPAddressDeny=
273 ```
274
275 ## Process Killing Settings
276
277 All process killing settings are available for transient units:
278
279 ```
280 ✓ SendSIGKILL=
281 ✓ SendSIGHUP=
282 ✓ KillMode=
283 ✓ KillSignal=
284 ✓ RestartKillSignal=
285 ✓ FinalKillSignal=
286 ✓ WatchdogSignal=
287 ```
288
289 ## Service Unit Settings
290
291 Most service unit settings are available for transient units.
292
293 ```
294 ✓ BusName=
295 ✓ ExecCondition=
296 ✓ ExecReload=
297 ✓ ExecStart=
298 ✓ ExecStartPost=
299 ✓ ExecStartPre=
300 ✓ ExecStop=
301 ✓ ExecStopPost=
302 ✓ FileDescriptorStoreMax=
303 ✓ GuessMainPID=
304 ✓ NonBlocking=
305 ✓ NotifyAccess=
306 ✓ OOMPolicy=
307 ✓ PIDFile=
308 ✓ RemainAfterExit=
309 ✓ Restart=
310 ✓ RestartForceExitStatus=
311 ✓ RestartPreventExitStatus=
312 ✓ RestartSec=
313 ✓ RootDirectoryStartOnly=
314 ✓ RuntimeMaxSec=
315 Sockets=
316 ✓ SuccessExitStatus=
317 ✓ TimeoutAbortSec=
318 ✓ TimeoutSec=
319 ✓ TimeoutStartFailureMode=
320 ✓ TimeoutStartSec=
321 ✓ TimeoutStopFailureMode=
322 ✓ TimeoutStopSec=
323 ✓ Type=
324 ✓ USBFunctionDescriptors=
325 ✓ USBFunctionStrings=
326 ✓ WatchdogSec=
327 ```
328
329 ## Mount Unit Settings
330
331 All mount unit settings are available to transient units:
332
333 ```
334 ✓ What=
335 ✓ Where=
336 ✓ Options=
337 ✓ Type=
338 ✓ TimeoutSec=
339 ✓ DirectoryMode=
340 ✓ SloppyOptions=
341 ✓ LazyUnmount=
342 ✓ ForceUnmount=
343 ✓ ReadWriteOnly=
344 ```
345
346 ## Automount Unit Settings
347
348 All automount unit setting is available to transient units:
349
350 ```
351 ✓ Where=
352 ✓ DirectoryMode=
353 ✓ TimeoutIdleSec=
354 ```
355
356 ## Timer Unit Settings
357
358 Most timer unit settings are available to transient units.
359
360 ```
361 ✓ OnActiveSec=
362 ✓ OnBootSec=
363 ✓ OnCalendar=
364 ✓ OnClockChange=
365 ✓ OnStartupSec=
366 ✓ OnTimezoneChange=
367 ✓ OnUnitActiveSec=
368 ✓ OnUnitInactiveSec=
369 ✓ Persistent=
370 ✓ WakeSystem=
371 ✓ RemainAfterElapse=
372 ✓ AccuracySec=
373 ✓ RandomizedDelaySec=
374 Unit=
375 ```
376
377 ## Slice Unit Settings
378
379 Slice units are fully supported as transient units, but they have no settings
380 of their own beyond the generic unit and resource control settings.
381
382 ## Scope Unit Settings
383
384 Scope units are fully supported as transient units (in fact they only exist as
385 such).
386
387 ```
388 ✓ RuntimeMaxSec=
389 ✓ TimeoutStopSec=
390 ```
391
392 ## Socket Unit Settings
393
394 Most socket unit settings are available to transient units.
395
396 ```
397 ✓ ListenStream=
398 ✓ ListenDatagram=
399 ✓ ListenSequentialPacket=
400 ✓ ListenFIFO=
401 ✓ ListenNetlink=
402 ✓ ListenSpecial=
403 ✓ ListenMessageQueue=
404 ✓ ListenUSBFunction=
405 ✓ SocketProtocol=
406 ✓ BindIPv6Only=
407 ✓ Backlog=
408 ✓ BindToDevice=
409 ✓ ExecStartPre=
410 ✓ ExecStartPost=
411 ✓ ExecStopPre=
412 ✓ ExecStopPost=
413 ✓ TimeoutSec=
414 ✓ SocketUser=
415 ✓ SocketGroup=
416 ✓ SocketMode=
417 ✓ DirectoryMode=
418 ✓ Accept=
419 ✓ FlushPending=
420 ✓ Writable=
421 ✓ MaxConnections=
422 ✓ MaxConnectionsPerSource=
423 ✓ KeepAlive=
424 ✓ KeepAliveTimeSec=
425 ✓ KeepAliveIntervalSec=
426 ✓ KeepAliveProbes=
427 ✓ DeferAcceptSec=
428 ✓ NoDelay=
429 ✓ Priority=
430 ✓ ReceiveBuffer=
431 ✓ SendBuffer=
432 ✓ IPTOS=
433 ✓ IPTTL=
434 ✓ Mark=
435 ✓ PipeSize=
436 ✓ FreeBind=
437 ✓ Transparent=
438 ✓ Broadcast=
439 ✓ PassCredentials=
440 ✓ PassSecurity=
441 ✓ PassPacketInfo=
442 ✓ TCPCongestion=
443 ✓ ReusePort=
444 ✓ MessageQueueMaxMessages=
445 ✓ MessageQueueMessageSize=
446 ✓ RemoveOnStop=
447 ✓ Symlinks=
448 ✓ FileDescriptorName=
449 Service=
450 ✓ TriggerLimitIntervalSec=
451 ✓ TriggerLimitBurst=
452 ✓ SmackLabel=
453 ✓ SmackLabelIPIn=
454 ✓ SmackLabelIPOut=
455 ✓ SELinuxContextFromNet=
456 ```
457
458 ## Swap Unit Settings
459
460 Swap units are currently not available at all as transient units:
461
462 ```
463 What=
464 Priority=
465 Options=
466 TimeoutSec=
467 ```
468
469 ## Path Unit Settings
470
471 Most path unit settings are available to transient units.
472
473 ```
474 ✓ PathExists=
475 ✓ PathExistsGlob=
476 ✓ PathChanged=
477 ✓ PathModified=
478 ✓ DirectoryNotEmpty=
479 Unit=
480 ✓ MakeDirectory=
481 ✓ DirectoryMode=
482 ```
483
484 ## Install Section
485
486 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
487
488 ```
489 Alias=
490 WantedBy=
491 RequiredBy=
492 Also=
493 DefaultInstance=
494 ```