]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
core: add ManagedOOM*= properties to configure systemd-oomd on the unit
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
CommitLineData
c3e270f4 1---
b35ec8de 2title: What Settings Are Currently Available For Transient Units?
4cdca0af 3category: Interfaces
b41a3f66 4layout: default
c3e270f4
FB
5---
6
b35ec8de 7# What Settings Are Currently Available For Transient Units?
91d2f195
LP
8
9Our intention is to make all settings that are available as unit file settings
b096d14c
ZJS
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.
91d2f195
LP
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
c0d64e0e 19Most generic unit settings are available for transient units.
91d2f195
LP
20
21```
22✓ Description=
c0d64e0e
YW
23✓ Documentation=
24✓ SourcePath=
91d2f195
LP
25✓ Requires=
26✓ Requisite=
27✓ Wants=
28✓ BindsTo=
29✓ Conflicts=
30✓ Before=
31✓ After=
32✓ OnFailure=
33✓ PropagatesReloadTo=
34✓ ReloadPropagatedFrom=
35✓ PartOf=
c0d64e0e
YW
36✓ JoinsNamespaceOf=
37✓ RequiresMountsFor=
38✓ StopWhenUnneeded=
39✓ RefuseManualStart=
40✓ RefuseManualStop=
41✓ AllowIsolate=
91d2f195 42✓ DefaultDependencies=
c0d64e0e
YW
43✓ OnFailureJobMode=
44✓ IgnoreOnIsolate=
45✓ JobTimeoutSec=
46✓ JobRunningTimeoutSec=
47✓ JobTimeoutAction=
48✓ JobTimeoutRebootArgument=
370f0dc8
ZJS
49✓ StartLimitIntervalSec=
50✓ StartLimitBurst=
51✓ StartLimitAction=
91d2f195
LP
52✓ FailureAction=
53✓ SuccessAction=
7af67e9a
LP
54✓ FailureActionExitStatus=
55✓ SuccessActionExitStatus=
370f0dc8 56✓ RebootArgument=
c0d64e0e
YW
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=
91d2f195
LP
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=
ad21e542 117✓ CoredumpFilter=
91d2f195
LP
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=
90fc172e
AZ
146✓ LogRateLimitIntervalSec=
147✓ LogRateLimitBurst=
91d2f195
LP
148✓ SecureBits=
149✓ CapabilityBoundingSet=
150✓ AmbientCapabilities=
151✓ TimerSlackNSec=
152✓ NoNewPrivileges=
153✓ KeyringMode=
4e399953
LP
154✓ ProtectProc=
155✓ ProcSubset=
91d2f195
LP
156✓ SystemCallFilter=
157✓ SystemCallArchitectures=
158✓ SystemCallErrorNumber=
9df2cdd8 159✓ SystemCallLog=
91d2f195
LP
160✓ MemoryDenyWriteExecute=
161✓ RestrictNamespaces=
162✓ RestrictRealtime=
7445db6e 163✓ RestrictSUIDSGID=
91d2f195 164✓ RestrictAddressFamilies=
830ffbce
YW
165✓ RootHash=
166✓ RootHashSignature=
167✓ RootVerity=
91d2f195
LP
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=
24743efe 190✓ TemporaryFileSystem=
91d2f195
LP
191✓ PrivateTmp=
192✓ PrivateDevices=
31f06f56 193✓ PrivateMounts=
91d2f195
LP
194✓ ProtectKernelTunables=
195✓ ProtectKernelModules=
b096d14c 196✓ ProtectKernelLogs=
91d2f195
LP
197✓ ProtectControlGroups=
198✓ PrivateNetwork=
199✓ PrivateUsers=
200✓ ProtectSystem=
201✓ ProtectHome=
022d3345 202✓ ProtectClock=
91d2f195
LP
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=
10f28641 238✓ CPUQuotaPeriodSec=
047f5d63
PH
239✓ AllowedCPUs=
240✓ AllowedMemoryNodes=
91d2f195 241✓ MemoryAccounting=
acdb4b52 242✓ DefaultMemoryMin=
48422635 243✓ MemoryMin=
c52db42b 244✓ DefaultMemoryLow=
91d2f195
LP
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=
25cc30c4 269✓ DisableControllers=
91d2f195
LP
270✓ IPAccounting=
271✓ IPAddressAllow=
272✓ IPAddressDeny=
4d824a4e
AZ
273✓ ManagedOOMSwap=
274✓ ManagedOOMMemoryPressure=
275✓ ManagedOOMMemoryPressureLimitPercent=
91d2f195
LP
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=
b096d14c 287✓ RestartKillSignal=
fbb48d4c 288✓ FinalKillSignal=
c87700a1 289✓ WatchdogSignal=
91d2f195
LP
290```
291
292## Service Unit Settings
293
c0d64e0e 294Most service unit settings are available for transient units.
91d2f195
LP
295
296```
830ffbce 297✓ BusName=
31cd5f63 298✓ ExecCondition=
830ffbce 299✓ ExecReload=
91d2f195
LP
300✓ ExecStart=
301✓ ExecStartPost=
830ffbce 302✓ ExecStartPre=
91d2f195
LP
303✓ ExecStop=
304✓ ExecStopPost=
830ffbce 305✓ FileDescriptorStoreMax=
c0d64e0e 306✓ GuessMainPID=
91d2f195 307✓ NonBlocking=
91d2f195 308✓ NotifyAccess=
830ffbce
YW
309✓ OOMPolicy=
310✓ PIDFile=
311✓ RemainAfterExit=
312✓ Restart=
313✓ RestartForceExitStatus=
314✓ RestartPreventExitStatus=
315✓ RestartSec=
316✓ RootDirectoryStartOnly=
317✓ RuntimeMaxSec=
91d2f195 318 Sockets=
830ffbce
YW
319✓ SuccessExitStatus=
320✓ TimeoutAbortSec=
321✓ TimeoutSec=
322✓ TimeoutStartFailureMode=
323✓ TimeoutStartSec=
324✓ TimeoutStopFailureMode=
325✓ TimeoutStopSec=
326✓ Type=
c0d64e0e
YW
327✓ USBFunctionDescriptors=
328✓ USBFunctionStrings=
830ffbce 329✓ WatchdogSec=
91d2f195
LP
330```
331
332## Mount Unit Settings
333
c0d64e0e 334All mount unit settings are available to transient units:
91d2f195
LP
335
336```
337✓ What=
c0d64e0e 338✓ Where=
91d2f195
LP
339✓ Options=
340✓ Type=
c0d64e0e
YW
341✓ TimeoutSec=
342✓ DirectoryMode=
343✓ SloppyOptions=
344✓ LazyUnmount=
345✓ ForceUnmount=
75f4bd7f 346✓ ReadWriteOnly=
91d2f195
LP
347```
348
349## Automount Unit Settings
350
c0d64e0e 351All automount unit setting is available to transient units:
91d2f195
LP
352
353```
c0d64e0e
YW
354✓ Where=
355✓ DirectoryMode=
91d2f195
LP
356✓ TimeoutIdleSec=
357```
358
359## Timer Unit Settings
360
361Most timer unit settings are available to transient units.
362
363```
91d2f195
LP
364✓ OnActiveSec=
365✓ OnBootSec=
efebb613
LP
366✓ OnCalendar=
367✓ OnClockChange=
91d2f195 368✓ OnStartupSec=
0810e396 369✓ OnTimezoneChange=
91d2f195
LP
370✓ OnUnitActiveSec=
371✓ OnUnitInactiveSec=
d852bda1 372✓ Persistent=
91d2f195
LP
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
c0d64e0e
YW
388such).
389
390```
9ed7de60 391✓ RuntimeMaxSec=
c0d64e0e
YW
392✓ TimeoutStopSec=
393```
91d2f195
LP
394
395## Socket Unit Settings
396
8a211c8e 397Most socket unit settings are available to transient units.
91d2f195
LP
398
399```
8a211c8e
YW
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=
3e5f04bf 422✓ FlushPending=
8a211c8e
YW
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=
a3d19f5d 444✓ PassPacketInfo=
8a211c8e
YW
445✓ TCPCongestion=
446✓ ReusePort=
447✓ MessageQueueMaxMessages=
448✓ MessageQueueMessageSize=
449✓ RemoveOnStop=
450✓ Symlinks=
451✓ FileDescriptorName=
91d2f195 452 Service=
8a211c8e
YW
453✓ TriggerLimitIntervalSec=
454✓ TriggerLimitBurst=
455✓ SmackLabel=
456✓ SmackLabelIPIn=
457✓ SmackLabelIPOut=
458✓ SELinuxContextFromNet=
91d2f195
LP
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
d852bda1 474Most path unit settings are available to transient units.
91d2f195
LP
475
476```
d852bda1
YW
477✓ PathExists=
478✓ PathExistsGlob=
479✓ PathChanged=
480✓ PathModified=
481✓ DirectoryNotEmpty=
91d2f195 482 Unit=
d852bda1
YW
483✓ MakeDirectory=
484✓ DirectoryMode=
91d2f195
LP
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```