]> git.ipfire.org Git - thirdparty/systemd.git/blame_incremental - docs/TRANSIENT-SETTINGS.md
core: add ManagedOOM*= properties to configure systemd-oomd on the unit
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
... / ...
CommitLineData
1---
2title: What Settings Are Currently Available For Transient Units?
3category: Interfaces
4layout: default
5---
6
7# What Settings Are Currently Available For Transient Units?
8
9Our intention is to make all settings that are available as unit file settings
10also available for transient units, through the D-Bus API. At the moment,
11device, swap, and target units are not supported at all as transient units, but
12others are pretty well supported.
13
14The lists below contain all settings currently available in unit files. The
15ones currently available in transient units are prefixed with `✓`.
16
17## Generic Unit Settings
18
19Most 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
106All 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
229All 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✓ ManagedOOMSwap=
274✓ ManagedOOMMemoryPressure=
275✓ ManagedOOMMemoryPressureLimitPercent=
276```
277
278## Process Killing Settings
279
280All process killing settings are available for transient units:
281
282```
283✓ SendSIGKILL=
284✓ SendSIGHUP=
285✓ KillMode=
286✓ KillSignal=
287✓ RestartKillSignal=
288✓ FinalKillSignal=
289✓ WatchdogSignal=
290```
291
292## Service Unit Settings
293
294Most service unit settings are available for transient units.
295
296```
297✓ BusName=
298✓ ExecCondition=
299✓ ExecReload=
300✓ ExecStart=
301✓ ExecStartPost=
302✓ ExecStartPre=
303✓ ExecStop=
304✓ ExecStopPost=
305✓ FileDescriptorStoreMax=
306✓ GuessMainPID=
307✓ NonBlocking=
308✓ NotifyAccess=
309✓ OOMPolicy=
310✓ PIDFile=
311✓ RemainAfterExit=
312✓ Restart=
313✓ RestartForceExitStatus=
314✓ RestartPreventExitStatus=
315✓ RestartSec=
316✓ RootDirectoryStartOnly=
317✓ RuntimeMaxSec=
318 Sockets=
319✓ SuccessExitStatus=
320✓ TimeoutAbortSec=
321✓ TimeoutSec=
322✓ TimeoutStartFailureMode=
323✓ TimeoutStartSec=
324✓ TimeoutStopFailureMode=
325✓ TimeoutStopSec=
326✓ Type=
327✓ USBFunctionDescriptors=
328✓ USBFunctionStrings=
329✓ WatchdogSec=
330```
331
332## Mount Unit Settings
333
334All mount unit settings are available to transient units:
335
336```
337✓ What=
338✓ Where=
339✓ Options=
340✓ Type=
341✓ TimeoutSec=
342✓ DirectoryMode=
343✓ SloppyOptions=
344✓ LazyUnmount=
345✓ ForceUnmount=
346✓ ReadWriteOnly=
347```
348
349## Automount Unit Settings
350
351All automount unit setting is available to transient units:
352
353```
354✓ Where=
355✓ DirectoryMode=
356✓ TimeoutIdleSec=
357```
358
359## Timer Unit Settings
360
361Most timer unit settings are available to transient units.
362
363```
364✓ OnActiveSec=
365✓ OnBootSec=
366✓ OnCalendar=
367✓ OnClockChange=
368✓ OnStartupSec=
369✓ OnTimezoneChange=
370✓ OnUnitActiveSec=
371✓ OnUnitInactiveSec=
372✓ Persistent=
373✓ WakeSystem=
374✓ RemainAfterElapse=
375✓ AccuracySec=
376✓ RandomizedDelaySec=
377 Unit=
378```
379
380## Slice Unit Settings
381
382Slice units are fully supported as transient units, but they have no settings
383of their own beyond the generic unit and resource control settings.
384
385## Scope Unit Settings
386
387Scope units are fully supported as transient units (in fact they only exist as
388such).
389
390```
391✓ RuntimeMaxSec=
392✓ TimeoutStopSec=
393```
394
395## Socket Unit Settings
396
397Most socket unit settings are available to transient units.
398
399```
400✓ ListenStream=
401✓ ListenDatagram=
402✓ ListenSequentialPacket=
403✓ ListenFIFO=
404✓ ListenNetlink=
405✓ ListenSpecial=
406✓ ListenMessageQueue=
407✓ ListenUSBFunction=
408✓ SocketProtocol=
409✓ BindIPv6Only=
410✓ Backlog=
411✓ BindToDevice=
412✓ ExecStartPre=
413✓ ExecStartPost=
414✓ ExecStopPre=
415✓ ExecStopPost=
416✓ TimeoutSec=
417✓ SocketUser=
418✓ SocketGroup=
419✓ SocketMode=
420✓ DirectoryMode=
421✓ Accept=
422✓ FlushPending=
423✓ Writable=
424✓ MaxConnections=
425✓ MaxConnectionsPerSource=
426✓ KeepAlive=
427✓ KeepAliveTimeSec=
428✓ KeepAliveIntervalSec=
429✓ KeepAliveProbes=
430✓ DeferAcceptSec=
431✓ NoDelay=
432✓ Priority=
433✓ ReceiveBuffer=
434✓ SendBuffer=
435✓ IPTOS=
436✓ IPTTL=
437✓ Mark=
438✓ PipeSize=
439✓ FreeBind=
440✓ Transparent=
441✓ Broadcast=
442✓ PassCredentials=
443✓ PassSecurity=
444✓ PassPacketInfo=
445✓ TCPCongestion=
446✓ ReusePort=
447✓ MessageQueueMaxMessages=
448✓ MessageQueueMessageSize=
449✓ RemoveOnStop=
450✓ Symlinks=
451✓ FileDescriptorName=
452 Service=
453✓ TriggerLimitIntervalSec=
454✓ TriggerLimitBurst=
455✓ SmackLabel=
456✓ SmackLabelIPIn=
457✓ SmackLabelIPOut=
458✓ SELinuxContextFromNet=
459```
460
461## Swap Unit Settings
462
463Swap units are currently not available at all as transient units:
464
465```
466 What=
467 Priority=
468 Options=
469 TimeoutSec=
470```
471
472## Path Unit Settings
473
474Most path unit settings are available to transient units.
475
476```
477✓ PathExists=
478✓ PathExistsGlob=
479✓ PathChanged=
480✓ PathModified=
481✓ DirectoryNotEmpty=
482 Unit=
483✓ MakeDirectory=
484✓ DirectoryMode=
485```
486
487## Install Section
488
489The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
490
491```
492 Alias=
493 WantedBy=
494 RequiredBy=
495 Also=
496 DefaultInstance=
497```