Warning, /frameworks/syntax-highlighting/autotests/folding/systemd-unit.service.fold is written in an unsupported language. File is not indexed.

0001 # WARNING : This file is NOT a valid systemd service.
0002 # It was created to demonstrate/test KDE syntax highlighting.
0003 # It includes invalid sections, option names and option values.
0004 
0005 ; NOTE: Alerts in comments are supported.
0006 
0007 
0008 <endfold id='1'></endfold id='1'><beginfold id='1'>[Automount]</beginfold id='1'>
0009 Where = /the/mount/directory
0010 ExtraOptions = some,extra, mount , options, %I
0011 DirectoryMode = 0755
0012 TimeoutIdleSec = 5min 5s
0013 
0014 
0015 <endfold id='1'></endfold id='1'><beginfold id='1'>[Install]</beginfold id='1'>
0016 Alias = some.service some.invalid some_%b.service
0017 WantedBy = some.service some.socket some.invalid
0018 RequiredBy = some.service some.socket some.invalid
0019 UpheldBy = some.service some.socket some.invalid
0020 Also = some.service some.socket some.invalid
0021 DefaultInstance = id
0022 
0023 
0024 <endfold id='1'></endfold id='1'><beginfold id='1'>[Mount]</beginfold id='1'>
0025 What = /dev/disk/by-uuid/444c-0d9d-411e-a973-015b31acaa
0026 Where = /the/mount/directory
0027 Type = btrfs
0028 Options = subvol=some_name,compress=lzo,noatime,noauto,nodev,nosuid
0029 SloppyOptions = on
0030 LazyUnmount = true
0031 ReadWriteOnly = true
0032 ForceUnmount = yes
0033 DirectoryMode = 0700
0034 TimeoutSec = 5 m 20 s
0035 # see [Service] for options from systemd.exec and systemd.kill
0036 
0037 
0038 <endfold id='1'></endfold id='1'><beginfold id='1'>[Path]</beginfold id='1'>
0039 PathExists = /some/absolute/path
0040 PathExistsGlob = /some/g[lo]b*
0041 PathChanged = /some/absolute/path
0042 PathModified = /some/absolute/path
0043 DirectoryNotEmpty = /some/absolute/path
0044 Unit = some@instance.service
0045 MakeDirectory = yes
0046 DirectoryMode = 0700
0047 TriggerLimitIntervalSec = 1min 10sec
0048 TriggerLimitBurst = 15
0049 
0050 
0051 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0052 ## from systemd.service
0053 Type = exec
0054 RemainAfterExit = false
0055 GuessMainPID = no
0056 PIDFile = some/path
0057 BusName = some.name
0058 ExecStart = /usr/bin/Xorg ${DISPLAY} ${XDG_VTNR} \
0059   -logfile %t/X.%i.log \
0060   -nolisten tcp \
0061   -quiet
0062 ExecStartPre = @/bin/start/pre some args
0063 ExecStartPost = -cmd arg, @cmd2 name -o \x0A
0064 ExecCondition = /bin/exec/condition
0065 ExecReload = /bin/exec/reload
0066 ExecStop = /bin/kill -SIGABRT $MAINPID
0067 ExecStopPost = -:!!/bin/stop/post
0068 RestartSec = 15
0069 RestartSteps = 2
0070 RestartMaxDelaySec = 150ms
0071 TimeoutStartSec = 5s 100ms
0072 TimeoutStopSec = infinity
0073 TimeoutAbortSec = 15
0074 TimeoutSec = 10
0075 TimeoutStartFailureMode = abort
0076 TimeoutStopFailureMode = kill
0077 RuntimeMaxSec = 1min 20 seconds
0078 RuntimeRandomizedExtraSec = 12
0079 WatchdogSec = 90
0080 Restart = on-watchdog
0081 RestartMode = direct
0082 SuccessExitStatus = PROTOCOL RUNTIME_DIRECTORY \
0083   SECCOMP 15 23 SIGUSR1 SIGXCPU
0084 RestartPreventExitStatus = 15 23 SIGUSR1 \
0085   SIGXCPU
0086 RestartForceExitStatus = SIGQUIT SIGSTOP 99
0087 RootDirectoryStartOnly = false
0088 NonBlocking = false
0089 NotifyAccess = exec
0090 Sockets = some.socket \
0091   some-other.socket
0092 FileDescriptorStoreMax = 5
0093 FileDescriptorStorePreserve = yes
0094 USBFunctionDescriptors = /some/absolute/path
0095 USBFunctionStrings = /some/absolute/path
0096 OOMPolicy = stop
0097 OpenFile = /some/path:fd-name:graceful,read-only
0098 ReloadSignal = SIGUSR1
0099 
0100 ## from systemd.exec
0101 ExecPaths = some/path some/other/path
0102 ExtensionImages = /source/path
0103 ExtensionDirectories = /source/path
0104 IPCNamespacePath = /some/absolute/path
0105 MemoryKSM = false
0106 NoExecPaths = some/path some/other/path
0107 PrivateIPC = false
0108 ## from systemd.exec Paths
0109 ExecSearchPath = /some/path:/some/other/path
0110 WorkingDirectory = ~
0111 RootDirectory = /some/path
0112 RootImage = /some/path
0113 RootImageOptions = partition_name,noauto
0114 RootEphemeral = false
0115 RootHash = /some/path
0116 RootHash = 0xABCDEF
0117 RootHashSignature =
0118 RootVerity = /some/path
0119 MountAPIVFS = true
0120 ProcSubset = pid
0121 BindPaths = /source/path,/destination/path,rbind \
0122   /source/path2,/destination/path2,norbind \
0123   /source/path3
0124 BindReadOnlyPaths = /source/path,/destination/path,rbind \
0125   /source/path2,/destination/path2,norbind \
0126   /source/path3
0127 MountImages = /source/path,dest
0128 ## from systemd.exec Credentials
0129 User = 1000
0130 Group = group-name
0131 DynamicUser = true
0132 SupplementaryGroups = group1 group-two 100 \
0133   one-more-group
0134 SetLoginEnvironment = false
0135 PAMName =
0136 LoadCredential = some_id:/path/to/credential/data
0137 LoadCredentialEncrypted = some_id:/path/to/credential/data
0138 # accepts an optional single trailing asterisk
0139 ImportCredential = some*
0140 SetCredential = some_id:some_credential
0141 SetCredentialEncrypted =  some_id:some_encrypted_credential
0142 ## from systemd.exec Capabilities
0143 CapabilityBoundingSet = ~ CAP_SYS_ADMIN CAP_DAC_OVERRIDE   CAP_SYS_PTRACE \
0144   CAP_NET_ADMIN  CAP_SYS_BOOT
0145 AmbientCapabilities = CAP_SYS_ADMIN \
0146   CAP_DAC_OVERRIDE
0147 ## from systemd.exec Security
0148 NoNewPrivileges = true
0149 SecureBits = keep-caps keep-caps-locked \
0150   no-setuid-fixup \
0151   no-setuid-fixup-locked
0152 ## from systemd.exec Mandatory Access Control
0153 SELinuxContext =
0154 AppArmorProfile = - someprofile
0155 SmackProcessLabel = -label
0156 ## from systemd.exec Process Properties
0157 LimitCPU = 15s:20s
0158 LimitFSIZE = 12G:24G
0159 LimitDATA = infinity
0160 LimitSTACK = 512K
0161 LimitCORE = 128K
0162 LimitRSS = 2G
0163 LimitNOFILE = 123:234
0164 LimitAS = 3G
0165 LimitNPROC = 4711
0166 LimitMEMLOCK = 12G
0167 LimitLOCKS = 321
0168 LimitSIGPENDING = 46
0169 LimitMSGQUEUE = 512K
0170 LimitNICE = +12 : +15
0171 LimitRTPRIO = 20 : 40
0172 LimitRTTIME = 12us : 15
0173 UMask = 0022
0174 CoredumpFilter = default private-dax shared-dax
0175 KeyringMode = private
0176 OOMScoreAdjust = 123
0177 TimerSlackNSec = 321
0178 Personality = x86-64
0179 IgnoreSIGPIPE = false
0180 ## from systemd.exec Scheduling
0181 Nice = +12
0182 CPUSchedulingPolicy = fifo
0183 CPUSchedulingPriority = 34
0184 CPUSchedulingResetOnFork = false
0185 CPUAffinity = 0 1, 2 , \
0186   3, 4-8
0187 NUMAPolicy = interleave
0188 NUMAMask = 1,2,3-8
0189 IOSchedulingClass = idle
0190 IOSchedulingPriority = 5
0191 ## from systemd.exec Sandboxing
0192 ProtectSystem = strict
0193 ProtectHome = read-only
0194 RuntimeDirectory = some/dir:some_symlink
0195 StateDirectory = some/dir
0196 CacheDirectory = some/dir
0197 LogsDirectory = some/dir
0198 ConfigurationDirectory = some/dir
0199 RuntimeDirectoryMode = 0755
0200 StateDirectoryMode = 0755
0201 CacheDirectoryMode = 0755
0202 LogsDirectoryMode = 0755
0203 ConfigurationDirectoryMode = 0755
0204 RuntimeDirectoryPreserve = restart
0205 TimeoutCleanSec = 20
0206 ReadWritePaths = some/dir
0207 ReadOnlyPaths = some/dir
0208 InaccessiblePaths = some/dir
0209 TemporaryFileSystem = /var:ro
0210 PrivateTmp = yes
0211 PrivateDevices = on
0212 PrivateNetwork = no
0213 NetworkNamespacePath = /some/path
0214 PrivateUsers = off
0215 ProtectHostname = false
0216 ProtectClock = no
0217 ProtectKernelTunables = yes
0218 ProtectKernelModules = true
0219 ProtectKernelLogs = yes
0220 ProtectControlGroups = y
0221 RestrictAddressFamilies = ~ AF_INET AF_VSOCK
0222 RestrictFileSystems = ~btrfs ntfs3 \
0223   @temporary
0224 RestrictNamespaces = cgroup net \
0225   ipc
0226 LockPersonality = yes
0227 MemoryDenyWriteExecute = true
0228 RestrictRealtime = true
0229 RestrictSUIDSGID = true
0230 RemoveIPC = no
0231 PrivateMounts = false
0232 MountFlags = shared
0233 ## from systemd.exec System Call Filtering
0234 SystemCallFilter = @debug @aio
0235 SystemCallErrorNumber = ETIMEDOUT
0236 SystemCallArchitectures = mips64-n32 \
0237   native sparc
0238 SystemCallLog = ~ some_name \
0239   another_name
0240 ## from systemd.exec System Call Environment
0241 Environment = DISPLAY=:%i
0242 Environment = XAUTHORITY=%t/Xauthority.%i \
0243   "var=value with spaces"
0244 Environment = XDG_VTNR=vt%i
0245 EnvironmentFile = - /some/path
0246 PassEnvironment = SOME VARIABLES TO PASS
0247 UnsetEnvironment = SOME VARIABLES TO BE UNSET
0248 ## from systemd.exec Logging and Standard Input/Output
0249 StandardInput = file:/some/absolute/path
0250 StandardOutput = journal+console
0251 StandardError = inherit
0252 StandardInputText = SWNrIHNpdHplIGRhIHVuJyBlc3NlIEtsb3B
0253 StandardInputData = yBkZW5rIG5hbnUhCkpldHogaXNzZSB1ZmYsIGVy
0254 LogLevelMax = info
0255 LogExtraFields = FIELD=VALUE OTHER_FIELD=VALUE2
0256 LogRateLimitIntervalSec = 1s 500ms
0257 LogRateLimitBurst = 50
0258 LogFilterPatterns = ~some_rx
0259 LogFilterPatterns = \x7esome_rx
0260 LogNamespace = some_name
0261 SyslogIdentifier = some_identifier
0262 SyslogFacility = daemon
0263 SyslogLevel = debug
0264 SyslogLevelPrefix = true
0265 TTYPath = /dev/console
0266 TTYReset = yes
0267 TTYVHangup = on
0268 TTYRows = 24
0269 TTYColumns = 80
0270 TTYVTDisallocate = true
0271 ## from systemd.exec System V Compatibility
0272 UtmpIdentifier = utid
0273 UtmpMode = init
0274 
0275 ## from systemd.kill
0276 KillMode = process
0277 KillSignal = SIGABRT
0278 RestartKillSignal = SIGHUP
0279 SendSIGHUP = yes
0280 SendSIGKILL = no
0281 FinalKillSignal = SIGABRT
0282 WatchdogSignal = SIGQUIT
0283 
0284 ## from systemd.resource-control
0285 CPUAccounting = yes
0286 CPUWeight = 1234
0287 StartupCPUWeight = 321
0288 CPUQuota = 123.4%
0289 CPUQuotaPeriodSec = 1s 23ms 45us
0290 AllowedCPUs = 0-8, 12
0291 StartupAllowedCPUs = 0-24
0292 AllowedMemoryNodes = 5-8, 12
0293 StartupAllowedMemoryNodes = 5-10, 12
0294 MemoryAccounting = yes
0295 MemoryMin = 10G
0296 MemoryLow = 20%
0297 StartupMemoryLow = 22%
0298 DefaultStartupMemoryLow = infinity
0299 MemoryHigh = 40 %
0300 StartupMemoryHigh = 12%
0301 MemoryMax = 60%
0302 StartupMemoryMax = 55%
0303 MemorySwapMax = 10G
0304 StartupMemorySwapMax = 5G
0305 MemoryZSwapMax = 2G
0306 StartupMemoryZSwapMax = 1500k
0307 TasksAccounting = on
0308 TasksMax = 50%
0309 IOAccounting = on
0310 IOWeight = 1000
0311 StartupIOWeight = 500
0312 IODeviceWeight = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 1000
0313 IOReadBandwidthMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 10M
0314 IOWriteBandwidthMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5M
0315 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 1K
0316 IOWriteIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 2K
0317 IODeviceLatencyTargetSec = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5s 20ms 100us
0318 IPAccounting = on
0319 IPAddressAllow = 127.0.0.0/8 ::1/128
0320 IPAddressDeny = 127.0.0.0/8 ::1/128
0321 DevicePolicy = strict
0322 Slice = some.slice
0323 Delegate = bpf-firewall
0324 DelegateSubgroup = some-cgroup-name
0325 DisableControllers = cpu io
0326 ManagedOOMSwap = auto
0327 ManagedOOMMemoryPressure = kill
0328 ManagedOOMMemoryPressureLimit = 50%
0329 ManagedOOMPreference = omit
0330 MemoryPressureWatch = skip
0331 MemoryPressureThresholdSec = 50ms
0332 CoredumpReceive = true
0333 BPFProgram = bind6:/sys/fs/bpf/sock-addr-hook
0334 RestrictNetworkInterfaces = ~eth1 eth2
0335 NFTSet = cgroup:inet:filter:my_service \
0336   user:inet:filter:serviceuser
0337 
0338 
0339 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
0340 ListenStream = 0.0.0.0:4000
0341 ListenDatagram = /path/to/socket
0342 ListenFIFO = /some/path
0343 ListenSequentialPacket = @namespace
0344 ListenSpecial = /some/path
0345 ListenNetlink = kobject-uevent
0346 ListenMessageQueue = /queue
0347 ListenUSBFunction = /some/path
0348 SocketProtocol = sctp
0349 BindIPv6Only = both
0350 Backlog = 123
0351 BindToDevice = name
0352 SocketGroup = users
0353 SocketUser = someuser
0354 SocketMode = 0644
0355 DirectoryMode = 0744
0356 Accept = no
0357 Writable = yes
0358 FlushPending = true
0359 MaxConnections = 34
0360 MaxConnectionsPerSource = 10
0361 KeepAlive = yes
0362 KeepAliveTimeSec = 15s 30ms
0363 KeepAliveIntervalSec = 10s 123us
0364 KeepAliveProbes = 12
0365 NoDelay = false
0366 Priority = 5
0367 DeferAcceptSec = 1s 100ms
0368 ReceiveBuffer = 10K
0369 SendBuffer = 15K
0370 IPTOS = low-delay
0371 IPTTL = 12
0372 Mark = 12
0373 ReusePort = no
0374 SmackLabel = value
0375 SmackLabelIPIn = value
0376 SmackLabelIPOut = value
0377 SELinuxContextFromNet = true
0378 PipeSize = 1M
0379 MessageQueueMaxMessages = 12
0380 MessageQueueMessageSize = 1234
0381 FreeBind = yes
0382 Transparent = no
0383 Broadcast = true
0384 PassCredentials = yes
0385 PassSecurity = true
0386 PassPacketInfo = true
0387 Timestamping = nsec
0388 TCPCongestion = westwood
0389 ExecStartPre = +/usr/bin/start/pre
0390 ExecStartPost = @/usr/bin/start/post arg
0391 ExecStopPre = /usr/bin/stop/pre
0392 ExecStopPost = /usr/bin/stop/post
0393 TimeoutSec = 1m 30sec
0394 Service = some.service
0395 RemoveOnStop = yes
0396 Symlinks = /some/path /some/other/path
0397 FileDescriptorName = some_name
0398 TriggerLimitIntervalSec = 1s 500ms
0399 TriggerLimitBurst = 50
0400 PollLimitIntervalSec = 1s 300ms
0401 PollLimitBurst = 120
0402 # see [Service] for options from systemd.exec and systemd.kill
0403 
0404 
0405 <endfold id='1'></endfold id='1'><beginfold id='1'>[Swap]</beginfold id='1'>
0406 What = /dev/disk/by-uuid/5db77-fde6-424e-a1bb-e88e8996c
0407 Priority = 123
0408 Options = some,device,options
0409 TimeoutSec = 1m 20s
0410 # see [Service] for options from systemd.exec and systemd.kill
0411 
0412 
0413 <endfold id='1'></endfold id='1'><beginfold id='1'>[Timer]</beginfold id='1'>
0414 OnActiveSec = 90
0415 OnBootSec = 5min 15s 100ms
0416 OnStartupSec = 2 minutes
0417 OnUnitActiveSec = 1 min
0418 OnUnitInactiveSec = 1m 30s
0419 OnCalendar = daily
0420 AccuracySec = 1min 10sec
0421 RandomizedDelaySec = 30s
0422 FixedRandomDelay = yes
0423 OnClockChange = false
0424 OnTimezoneChange = true
0425 Unit = some_timed.service
0426 Persistent = true
0427 WakeSystem = no
0428 RemainAfterElapse = true
0429 
0430 
0431 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0432 Description = Testing systemd unit
0433 Documentation = https://docs.kde.org/stable5/en/applications/katepart/highlight.html \
0434   man:/systemd.unit
0435 Requires = some.service
0436 Requisite = some-service-name.service
0437 Wants = some.service
0438 BindsTo = some.service
0439 BindsTo = %i.mount
0440 PartOf = some.service
0441 Upholds = some.service some-other.service
0442 Conflicts = some.service
0443 Before = some.service
0444 After = some.service some@instance.service
0445 OnFailure = some.service
0446 OnSuccess = some.service some-other.service
0447 PropagatesReloadTo = some.service
0448 ReloadPropagatedFrom = some.service
0449 JoinsNamespaceOf = some.service
0450 PropagatesStopTo = some.service some-other.service
0451 StopPropagatedFrom = some.service some-other.service
0452 RequiresMountsFor = /tmp /var/log %h
0453 OnFailureJobMode = fail
0454 OnSuccessJobMode = replace
0455 IgnoreOnIsolate = true
0456 StopWhenUnneeded = false
0457 RefuseManualStart = false
0458 RefuseManualStop = true
0459 AllowIsolate = true
0460 DefaultDependencies = no
0461 SurviveFinalKillSignal = yes
0462 CollectMode = inactive
0463 FailureAction = reboot
0464 SuccessAction = none
0465 FailureActionExitStatus = 15
0466 SuccessActionExitStatus = 255
0467 JobTimeoutSec = 10
0468 JobRunningTimeoutSec = infinity
0469 JobTimeoutAction = none
0470 JobTimeoutRebootArgument = some argument
0471 StartLimitIntervalSec = 0
0472 StartLimitBurst = 10
0473 StartLimitAction = none
0474 RebootArgument = some argument
0475 ConditionArchitecture = x86
0476 ConditionVirtualization = |vmware
0477 ConditionHost = !shodan*
0478 ConditionKernelCommandLine = !kernel_option
0479 ConditionKernelVersion = | >= 4.*
0480 ConditionCredential = name
0481 ConditionEnvironment = SOME_ENVIRONMENT_VARIABLE=some_value
0482 ConditionSecurity = | ! selinux
0483 ConditionCapability = !CAP_NET_ADMIN
0484 ConditionACPower = true
0485 ConditionNeedsUpdate = !/var
0486 ConditionFirstBoot = |false
0487 ConditionPathExists = !/some/absolute/path
0488 ConditionPathExistsGlob = |!/m?t/s[ao]me/path*
0489 ConditionPathIsDirectory = !/some/path
0490 ConditionPathIsSymbolicLink = !/some/path
0491 ConditionPathIsMountPoint = /some/path
0492 ConditionPathIsReadWrite = !/some/path
0493 ConditionPathIsEncrypted = !/some/absolute/path
0494 ConditionDirectoryNotEmpty = !/some/path
0495 ConditionFileNotEmpty = !/some/path
0496 ConditionFileIsExecutable = !/some/path
0497 ConditionUser = |@system
0498 ConditionGroup = |groupname
0499 ConditionControlGroupController = memory
0500 ConditionMemory = | >= 1G
0501 ConditionCPUs = | < 8
0502 ConditionCPUFeature = | sse2
0503 ConditionOSRelease = ID=some-id
0504 ConditionMemoryPressure = 20%/5min
0505 ConditionCPUPressure = 12%/10sec
0506 ConditionIOPressure = 30% / 1min
0507 AssertArchitecture = x86
0508 AssertVirtualization = |vmware
0509 AssertHost = !shodan*
0510 AssertKernelCommandLine = !kernel_option
0511 AssertKernelVersion = !>=5.3
0512 AssertCredential = name
0513 AssertEnvironment = SOME_ENVIRONMENT_VARIABLE=some_value
0514 AssertSecurity = | ! selinux
0515 AssertCapability = !CAP_NET_ADMIN
0516 AssertACPower = true
0517 AssertNeedsUpdate = !/var
0518 AssertFirstBoot = |false
0519 AssertPathExists = !/some/absolute/path
0520 AssertPathExistsGlob = |!/mnt/*
0521 AssertPathIsDirectory = !/some/path
0522 AssertPathIsSymbolicLink = !/some/path
0523 AssertPathIsMountPoint = !/some/path
0524 AssertPathIsReadWrite = !/some/path
0525 AssertPathIsEncrypted = !/some/path
0526 AssertDirectoryNotEmpty = !/some/path
0527 AssertFileNotEmpty = !/some/path
0528 AssertFileIsExecutable = !/some/path
0529 AssertUser = |@system
0530 AssertGroup = |groupname
0531 AssertControlGroupController = memory
0532 AssertCPUFeature = | sse4_2
0533 AssertOSRelease = ID=some-id
0534 AssertMemoryPressure = 20%/5min
0535 AssertCPUPressure = 12%/10sec
0536 AssertIOPressure = 30% / 1min
0537 
0538 
0539 ###### invalid sections
0540 [Device]
0541 [Invalid]
0542 [Slice]
0543 [Target]
0544 
0545 
0546 
0547 ############
0548 # Extensions
0549 ############
0550 
0551 
0552 ###### option
0553 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0554 Description = testing extensions
0555   X-this = some value
0556 X-multiple-lines = some.service \
0557  other service
0558 
0559 
0560 ###### section
0561 <endfold id='1'></endfold id='1'><beginfold id='1'>[X-Unit]</beginfold id='1'>
0562 name = value
0563 
0564 ## Comments in an extension section are just the same as elsewhere.
0565 
0566 Some text in an extension section.
0567 The extension section ends with the next section header.
0568 
0569 
0570 
0571 ########
0572 # Format
0573 ########
0574 
0575 ###### for options accepting multiple values, lines may be continued
0576 #      using a trailing backlash
0577 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0578 Before = before-me.socket \
0579   before-me.service
0580 
0581 ###### additional spaces are OK
0582      <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0583   RequiresMountsFor   =    /tmp /var/log
0584 
0585 
0586 
0587 ########################################################
0588 # Testing valid and invalid values for defined contexts.
0589 ########################################################
0590 
0591 
0592 ###### invalid options
0593 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0594 # missing assignment operator
0595 Description is invalid as it lacks the assignment operator
0596 # invalid option name
0597 InvalidOption = some text
0598 # WantedBy belongs to the [Install] section
0599 WantedBy = some.service some.socket
0600 
0601 
0602 ###### AC architecture
0603 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0604 # see "architecture" for all possible values
0605 AssertArchitecture = alpha
0606 AssertArchitecture = | alpha
0607 AssertArchitecture = |! alpha
0608 AssertArchitecture = ! alpha
0609 # other options
0610 ConditionArchitecture = |! alpha
0611 ## invalid values
0612 AssertArchitecture = !| alpha
0613 AssertArchitecture = || alpha
0614 AssertArchitecture = !! alpha
0615 
0616 
0617 ###### AC boolean
0618 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0619 # see "boolean" for all possible values
0620 AssertACPower = true
0621 AssertACPower = | true
0622 AssertACPower = | ! true
0623 AssertACPower = ! true
0624 # other options
0625 AssertFirstBoot = | ! true
0626 ConditionACPower = | ! true
0627 ConditionFirstBoot = | ! true
0628 ## invalid values
0629 AssertACPower = ! | true
0630 AssertACPower = | | true
0631 AssertACPower = !! true
0632 
0633 
0634 ###### AC capability
0635 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0636 # see "capability" for all possible values
0637 AssertCapability = CAP_CHOWN
0638 AssertCapability = | CAP_CHOWN
0639 AssertCapability = |! CAP_CHOWN
0640 AssertCapability = ! CAP_CHOWN
0641 # other options
0642 ConditionCapability = |! CAP_CHOWN
0643 ## invalid values
0644 AssertCapability = !| CAP_CHOWN
0645 AssertCapability = || CAP_CHOWN
0646 AssertCapability = !! CAP_CHOWN
0647 
0648 
0649 ###### AC cardinal
0650 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0651 ConditionCPUs = < 123456789
0652 ConditionCPUs = <= 123456789
0653 ConditionCPUs = = 123456789
0654 ConditionCPUs = != 123456789
0655 ConditionCPUs = >=123456789
0656 ConditionCPUs = > 123456789
0657 ConditionCPUs = |< 123456789
0658 ConditionCPUs = |<= 123456789
0659 ConditionCPUs = |= 123456789
0660 ConditionCPUs = | != 123456789
0661 ConditionCPUs = | >=123456789
0662 ConditionCPUs = | > 123456789
0663 ## other options
0664 ConditionCPUs = > 4
0665 ## invalid values
0666 ConditionCPUs = == 123456789
0667 ConditionCPUs = >> 123456789
0668 ConditionCPUs = = 123456789.987
0669 ConditionCPUs = || = 123456789.987
0670 
0671 
0672 ###### AC cardinal KMGT
0673 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0674 ConditionMemory = > 123456789
0675 ConditionMemory = |< 123456789
0676 ConditionMemory = |! >= 1G
0677 ConditionMemory = | != 512K
0678 ## invalid values
0679 # no exabyte (yet)
0680 ConditionMemory = = 1E
0681 
0682 
0683 ###### AC cpu feature
0684 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0685 # see "cpu feature" for all possible values
0686 ConditionCPUFeature = |! sse2
0687 
0688 
0689 ###### AC controller cg (assert/condition for control group controller)
0690 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0691 AssertControlGroupController = cpu
0692 AssertControlGroupController = | cpu
0693 AssertControlGroupController = |! cpu
0694 AssertControlGroupController = ! cpu
0695 # other options
0696 ConditionControlGroupController = |! cpu
0697 ## invalid values
0698 AssertControlGroupController = !| cpu
0699 AssertControlGroupController = || cpu
0700 AssertControlGroupController = !! cpu
0701 
0702 
0703 ###### AC firmware
0704 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0705 # see "firmware" for all possible values
0706 ConditionFirmware = |! uefi
0707 
0708 
0709 ###### AC group
0710 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0711 AssertGroup = | name
0712 AssertGroup = |! name
0713 AssertGroup = ! name
0714 # other options
0715 ConditionGroup = |! name
0716 ## invalid values
0717 AssertGroup = !| name
0718 AssertGroup = || name
0719 AssertGroup = !! name
0720 
0721 
0722 ###### AC security
0723 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0724 # see "security" for all possible values
0725 AssertSecurity = audit
0726 AssertSecurity = | audit
0727 AssertSecurity = |! audit
0728 AssertSecurity = ! audit
0729 # other options
0730 ConditionSecurity = |! audit
0731 ## invalid values
0732 AssertSecurity = !| audit
0733 AssertSecurity = || audit
0734 AssertSecurity = !! audit
0735 
0736 
0737 ###### AC text
0738 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0739 AssertKernelCommandLine = option=value
0740 AssertKernelCommandLine = | arg
0741 AssertKernelCommandLine = |! arg
0742 AssertKernelCommandLine = ! arg
0743 # other options
0744 AssertDirectoryNotEmpty = |! /some/path
0745 AssertFileIsExecutable = |! /some/path
0746 AssertFileNotEmpty = |! /some/path
0747 AssertKernelVersion = |! arg
0748 AssertNeedsUpdate = |! /etc
0749 AssertPathExists = |! /some/path
0750 AssertPathIsDirectory = |! /some/path
0751 AssertPathIsEncrypted = |! /some/path
0752 AssertPathIsMountPoint = |! /some/path
0753 AssertPathIsReadWrite = |! /some/path
0754 AssertPathIsSymbolicLink = |! /some/path
0755 ConditionDirectoryNotEmpty = |! /some/path
0756 ConditionEnvironment = |! name=value
0757 ConditionFileIsExecutable = |! /some/path
0758 ConditionFileNotEmpty = |! /some/path
0759 ConditionKernelCommandLine = |! arg
0760 ConditionKernelVersion = |! arg
0761 ConditionNeedsUpdate = |! /var
0762 ConditionPathExists = |! /some/path
0763 ConditionPathIsDirectory = |! /some/path
0764 ConditionPathIsEncrypted = |! /some/path
0765 ConditionPathIsMountPoint = |! /some/path
0766 ConditionPathIsReadWrite = |! /some/path
0767 ConditionPathIsSymbolicLink = |! /some/path
0768 ## invalid values
0769 AssertKernelCommandLine = !| arg
0770 AssertKernelCommandLine = || arg
0771 AssertKernelCommandLine = !! arg
0772 
0773 
0774 ###### AC text *
0775 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0776 AssertHost = hostname
0777 AssertHost = hostname*
0778 AssertHost = | hostname*
0779 AssertHost = |!hostname*
0780 AssertHost = !hostname*
0781 # other options
0782 ConditionHost = |!hostname*
0783 ## invalid values
0784 AssertHost = !| hostname*
0785 AssertHost = || hostname*
0786 AssertHost = !! hostname*
0787 
0788 
0789 ###### AC text glob
0790 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0791 AssertPathExistsGlob = |!/s[ao]me/path*
0792 ## invalid values
0793 ConditionPathExistsGlob = !! /s?me/path*
0794 
0795 
0796 ###### AC threshold
0797 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0798 # there is only a fixed set of time spans to choose from
0799 ConditionMemoryPressure = 10%/10sec
0800 ConditionMemoryPressure = 20%/1min
0801 ConditionMemoryPressure = | ! 30 % / 5min
0802 ## invalid values
0803 # invalid time span
0804 ConditionMemoryPressure = 30%/5sec
0805 # no %
0806 ConditionMemoryPressure = 30 / 10sec
0807 # no separator before time span
0808 ConditionMemoryPressure = 30% 10sec
0809 
0810 
0811 ###### AC user
0812 AssertUser = | @system
0813 AssertUser = | name
0814 AssertUser = |! @system
0815 AssertUser = ! name
0816 # other options
0817 ConditionUser = |! @system
0818 ## invalid values
0819 AssertUser = !| name
0820 AssertUser = || name
0821 AssertUser = !! name
0822 
0823 
0824 ###### AC virtualization
0825 # accepts boolean too
0826 AssertVirtualization = |true
0827 # see "virtualization" for all possible values
0828 AssertVirtualization = container
0829 AssertVirtualization = | container
0830 AssertVirtualization = |! container
0831 ConditionVirtualization = |! container
0832 AssertVirtualization = ! container
0833 ## invalid values
0834 AssertVirtualization = ! | true
0835 AssertVirtualization = | | true
0836 AssertVirtualization = !! true
0837 # multiple values
0838 AssertVirtualization = true false
0839 
0840 
0841 ###### - text
0842 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0843 AppArmorProfile = - some-profile
0844 AppArmorProfile =-profile
0845 
0846 
0847 ###### -+/path list
0848 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0849 ReadWritePaths = -/some/path
0850 ReadWritePaths = -+/some/path
0851 ReadWritePaths = +/some/path
0852 ReadWritePaths =+/some/path-+/ -/some/other/path \
0853   -+/one/more/path
0854 ## invalid values
0855 ReadWritePaths = - /some/path
0856 ReadWritePaths = + /some/path
0857 ReadWritePaths = +-/some/path
0858 
0859 
0860 ###### ~ address family list
0861 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0862 RestrictAddressFamilies = AF_ALG
0863 RestrictAddressFamilies = AF_APPLETALK
0864 RestrictAddressFamilies = AF_ASH
0865 RestrictAddressFamilies = AF_ATMPVC
0866 RestrictAddressFamilies = AF_ATMSVC
0867 RestrictAddressFamilies = AF_AX25
0868 RestrictAddressFamilies = AF_BLUETOOTH
0869 RestrictAddressFamilies = AF_BRIDGE
0870 RestrictAddressFamilies = AF_CAIF
0871 RestrictAddressFamilies = AF_CAN
0872 RestrictAddressFamilies = AF_DECnet
0873 RestrictAddressFamilies = AF_ECONET
0874 RestrictAddressFamilies = AF_FILE
0875 RestrictAddressFamilies = AF_IB
0876 RestrictAddressFamilies = AF_IEEE802154
0877 RestrictAddressFamilies = AF_INET
0878 RestrictAddressFamilies = AF_INET6
0879 RestrictAddressFamilies = AF_IPX
0880 RestrictAddressFamilies = AF_IRDA
0881 RestrictAddressFamilies = AF_ISDN
0882 RestrictAddressFamilies = AF_IUCV
0883 RestrictAddressFamilies = AF_KCM
0884 RestrictAddressFamilies = AF_KEY
0885 RestrictAddressFamilies = AF_LLC
0886 RestrictAddressFamilies = AF_LOCAL
0887 RestrictAddressFamilies = AF_MAX
0888 RestrictAddressFamilies = AF_MPLS
0889 RestrictAddressFamilies = AF_NETBEUI
0890 RestrictAddressFamilies = AF_NETLINK
0891 RestrictAddressFamilies = AF_NETROM
0892 RestrictAddressFamilies = AF_NFC
0893 RestrictAddressFamilies = AF_PACKET
0894 RestrictAddressFamilies = AF_PHONET
0895 RestrictAddressFamilies = AF_PPPOX
0896 RestrictAddressFamilies = AF_QIPCRTR
0897 RestrictAddressFamilies = AF_RDS
0898 RestrictAddressFamilies = AF_ROSE
0899 RestrictAddressFamilies = AF_ROUTE
0900 RestrictAddressFamilies = AF_RXRPC
0901 RestrictAddressFamilies = AF_SECURITY
0902 RestrictAddressFamilies = AF_SMC
0903 RestrictAddressFamilies = AF_SNA
0904 RestrictAddressFamilies = AF_TIPC
0905 RestrictAddressFamilies = AF_UNIX
0906 RestrictAddressFamilies = AF_UNSPEC
0907 RestrictAddressFamilies = AF_VSOCK
0908 RestrictAddressFamilies = AF_WANPIPE
0909 RestrictAddressFamilies = AF_X25
0910 RestrictAddressFamilies = AF_XDP
0911 RestrictAddressFamilies = ~ AF_XDP AF_LOCAL \
0912   AF_SECURITY
0913 # since version 249 an additional 'none' is supported
0914 RestrictAddressFamilies = none
0915 ## invalid values
0916 RestrictAddressFamilies = AF_INVALID
0917 # multiple values including `none`
0918 RestrictAddressFamilies = AF_ROUTE none AF_ROSE
0919 
0920 
0921 ###### ~ capability list
0922 # all the values of capability, but multple values for a single option entry are valid
0923 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0924 AmbientCapabilities = ~ CAP_NET_ADMIN CAP_NET_RAW \
0925   CAP_WAKE_ALARM
0926 CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_RAW \
0927   CAP_WAKE_ALARM
0928 
0929 
0930 ###### ~ namespace list
0931 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0932 RestrictNamespaces = cgroup
0933 RestrictNamespaces = ipc
0934 RestrictNamespaces = mnt
0935 RestrictNamespaces = net
0936 RestrictNamespaces = pid
0937 RestrictNamespaces = user
0938 RestrictNamespaces = uts
0939 RestrictNamespaces = cgroup uts
0940 RestrictNamespaces = ~ cgroup pid \
0941   uts
0942 # includes boolean
0943 RestrictNamespaces = true
0944 RestrictNamespaces = false
0945 ## invalid values
0946 RestrictNamespaces = invalid
0947 RestrictNamespaces = ~ true
0948 # if boolean, no multiple values
0949 RestrictNamespaces = true cgroup
0950 
0951 
0952 ###### ~ system call filter list
0953 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
0954 SystemCallFilter = @aio
0955 SystemCallFilter = @basic-io
0956 SystemCallFilter = @chown
0957 SystemCallFilter = @clock
0958 SystemCallFilter = @cpu-emulation
0959 SystemCallFilter = @debug
0960 SystemCallFilter = @default
0961 SystemCallFilter = @file-system
0962 SystemCallFilter = @io-event
0963 SystemCallFilter = @ipc
0964 SystemCallFilter = @keyring
0965 SystemCallFilter = @memlock
0966 SystemCallFilter = @module
0967 SystemCallFilter = @mount
0968 SystemCallFilter = @network-io
0969 SystemCallFilter = @obsolete
0970 SystemCallFilter = @privileged
0971 SystemCallFilter = @process
0972 SystemCallFilter = @raw-io
0973 SystemCallFilter = @reboot
0974 SystemCallFilter = @resources
0975 SystemCallFilter = @setuid
0976 SystemCallFilter = @signal
0977 SystemCallFilter = @swap
0978 SystemCallFilter = @sync
0979 SystemCallFilter = @system-service
0980 SystemCallFilter = @timer
0981 SystemCallFilter = @obsolete @timer \
0982   @swap
0983 SystemCallFilter = ~ @reboot @swap
0984 ## invalid values
0985 SystemCallFilter = invalid
0986 SystemCallFilter = @invalid @ sync
0987 
0988 
0989 ###### action
0990 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
0991 FailureAction = exit
0992 FailureAction = exit-force
0993 FailureAction = halt
0994 FailureAction = halt-force
0995 FailureAction = halt-immediate
0996 FailureAction = kexec
0997 FailureAction = kexec-force
0998 FailureAction = none
0999 FailureAction = poweroff
1000 FailureAction = poweroff-force
1001 FailureAction = poweroff-immediate
1002 FailureAction = reboot
1003 FailureAction = reboot-force
1004 FailureAction = reboot-immediate
1005 FailureAction = soft-reboot
1006 FailureAction = soft-reboot-force
1007 ## invalid values
1008 FailureAction = invalid
1009 FailureAction = invalid exit
1010 # multiple values
1011 FailureAction = none exit
1012 
1013 
1014 ###### architecture
1015 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1016 ConditionArchitecture = alpha
1017 ConditionArchitecture = arc
1018 ConditionArchitecture = arc-be
1019 ConditionArchitecture = arm
1020 ConditionArchitecture = arm-be
1021 ConditionArchitecture = arm64
1022 ConditionArchitecture = arm64-be
1023 ConditionArchitecture = cris
1024 ConditionArchitecture = ia64
1025 ConditionArchitecture = m68k
1026 ConditionArchitecture = mips
1027 ConditionArchitecture = mips-le
1028 ConditionArchitecture = mips64
1029 ConditionArchitecture = mips64-le
1030 ConditionArchitecture = parisc
1031 ConditionArchitecture = parisc64
1032 ConditionArchitecture = ppc
1033 ConditionArchitecture = ppc-le
1034 ConditionArchitecture = ppc64
1035 ConditionArchitecture = ppc64-le
1036 ConditionArchitecture = s390
1037 ConditionArchitecture = s390x
1038 ConditionArchitecture = sh
1039 ConditionArchitecture = sh64
1040 ConditionArchitecture = sparc
1041 ConditionArchitecture = sparc64
1042 ConditionArchitecture = tilegx
1043 ConditionArchitecture = x86
1044 ConditionArchitecture = x86-64
1045 # special value "native"
1046 ConditionArchitecture = native
1047 ## invalid values
1048 ConditionArchitecture = invalid
1049 ConditionArchitecture = invalid x86
1050 # multiple values
1051 ConditionArchitecture = sparc x86
1052 
1053 
1054 ###### boolean
1055 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1056 StopWhenUnneeded = 1
1057 StopWhenUnneeded = 0
1058 StopWhenUnneeded = true
1059 StopWhenUnneeded = t
1060 StopWhenUnneeded = false
1061 StopWhenUnneeded = f
1062 StopWhenUnneeded = yes
1063 StopWhenUnneeded = y
1064 StopWhenUnneeded = no
1065 StopWhenUnneeded = n
1066 StopWhenUnneeded = on
1067 StopWhenUnneeded = off
1068 ## invalid values
1069 StopWhenUnneeded = invalid
1070 # multiple values
1071 StopWhenUnneeded = false true
1072 
1073 
1074 ###### calendar
1075 <endfold id='1'></endfold id='1'><beginfold id='1'>[Timer]</beginfold id='1'>
1076 OnCalendar = daily
1077 OnCalendar = hourly
1078 OnCalendar = minutely
1079 OnCalendar = monthly
1080 OnCalendar = quarterly
1081 OnCalendar = semiannually
1082 OnCalendar = weekly
1083 OnCalendar = yearly
1084 OnCalendar = daily UTC
1085 OnCalendar = daily utc
1086 OnCalendar = monday *-12-* 17:00
1087 OnCalendar = Mon *-12-* 17:00
1088 ## invalid values
1089 OnCalendar = Mo *-12-* 17:00
1090 
1091 
1092 ###### capability
1093 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1094 ConditionCapability = CAP_AUDIT_CONTROL
1095 ConditionCapability = CAP_AUDIT_READ
1096 ConditionCapability = CAP_AUDIT_WRITE
1097 ConditionCapability = CAP_BLOCK_SUSPEND
1098 ConditionCapability = CAP_CHECKPOINT_RESTORE
1099 ConditionCapability = CAP_CHOWN
1100 ConditionCapability = CAP_DAC_OVERRIDE
1101 ConditionCapability = CAP_DAC_READ_SEARCH
1102 ConditionCapability = CAP_FOWNER
1103 ConditionCapability = CAP_FSETID
1104 ConditionCapability = CAP_IPC_LOCK
1105 ConditionCapability = CAP_IPC_OWNER
1106 ConditionCapability = CAP_KILL
1107 ConditionCapability = CAP_LEASE
1108 ConditionCapability = CAP_LINUX_IMMUTABLE
1109 ConditionCapability = CAP_MAC_ADMIN
1110 ConditionCapability = CAP_MAC_OVERRIDE
1111 ConditionCapability = CAP_MKNOD
1112 ConditionCapability = CAP_NET_ADMIN
1113 ConditionCapability = CAP_NET_BIND_SERVICE
1114 ConditionCapability = CAP_NET_BROADCAST
1115 ConditionCapability = CAP_NET_RAW
1116 ConditionCapability = CAP_SETGID
1117 ConditionCapability = CAP_SETFCAP
1118 ConditionCapability = CAP_SETPCAP
1119 ConditionCapability = CAP_SETUID
1120 ConditionCapability = CAP_SYS_ADMIN
1121 ConditionCapability = CAP_SYS_BOOT
1122 ConditionCapability = CAP_SYS_CHROOT
1123 ConditionCapability = CAP_SYS_MODULE
1124 ConditionCapability = CAP_SYS_NICE
1125 ConditionCapability = CAP_SYS_PACCT
1126 ConditionCapability = CAP_SYS_PTRACE
1127 ConditionCapability = CAP_SYS_RAWIO
1128 ConditionCapability = CAP_SYS_RESOURCE
1129 ConditionCapability = CAP_SYS_TIME
1130 ConditionCapability = CAP_SYS_TTY_CONFIG
1131 ConditionCapability = CAP_SYSLOG
1132 ConditionCapability = CAP_WAKE_ALARM
1133 ## invalid values
1134 ConditionCapability = invalid
1135 # multiple values
1136 ConditionCapability = CAP_NET_ADMIN CAP_NET_RAW
1137 
1138 
1139 ###### cardinal
1140 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1141 StartLimitBurst = 15
1142 ## invalid values
1143 StartLimitBurst = -10
1144 StartLimitBurst = 12.34
1145 StartLimitBurst = 10%
1146 StartLimitBurst = infinity
1147 # multiple values
1148 StartLimitBurst = 10 20
1149 
1150 
1151 ###### cardinal % infinity
1152 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1153 TasksMax = 15
1154 TasksMax = 10%
1155 TasksMax = infinity
1156 ## invalid values
1157 TasksMax = -10
1158 TasksMax = 12.34
1159 # multiple values
1160 TasksMax = 10 20
1161 TasksMax = infinity 20
1162 
1163 
1164 ###### cardinal %KGMT infinity
1165 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1166 MemoryMin = 123
1167 MemoryMin = 12K
1168 MemoryMin = 12M
1169 MemoryMin = 12G
1170 MemoryMin = 12T
1171 MemoryMin = 12 G
1172 MemoryMin = 20%
1173 MemoryMin = infinity
1174 ## invalid values
1175 MemoryMin = invalid
1176 # invalid bytes suffix
1177 MemoryMin = 12g
1178 MemoryMin = 12H
1179 MemoryMin = 12 E
1180 MemoryMin = 12P
1181 
1182 
1183 ###### cardinal KGMT
1184 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
1185 PipeSize = 123
1186 PipeSize = 12K
1187 PipeSize = 12M
1188 PipeSize = 12G
1189 PipeSize = 12T
1190 PipeSize = 12 G
1191 ## invalid values
1192 PipeSize = invalid
1193 PipeSize = infinity
1194 # invalid bytes suffix
1195 PipeSize = 12g
1196 PipeSize = 12H
1197 PipeSize = 12 E
1198 PipeSize = 12P
1199 PipeSize = 20%
1200 
1201 
1202 ###### cardinal KGMT infinity
1203 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1204 MemorySwapMax = 123
1205 MemorySwapMax = 12K
1206 MemorySwapMax = 12M
1207 MemorySwapMax = 12G
1208 MemorySwapMax = 12T
1209 MemorySwapMax = 12 G
1210 MemorySwapMax = infinity
1211 ## invalid values
1212 MemorySwapMax = invalid
1213 # invalid bytes suffix
1214 MemorySwapMax = 12g
1215 MemorySwapMax = 12H
1216 MemorySwapMax = 12 E
1217 MemorySwapMax = 12P
1218 MemorySwapMax = 20%
1219 
1220 
1221 ###### collect mode
1222 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1223 CollectMode = inactive
1224 CollectMode = inactive-or-failed
1225 ## invalid values
1226 CollectMode = invalid
1227 CollectMode = invalid inactive
1228 # multiple values
1229 CollectMode = inactive-or-failed inactive
1230 
1231 
1232 ###### condition needs update
1233 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1234 ConditionNeedsUpdate = !/etc
1235 ConditionNeedsUpdate = !/var
1236 ## invalid values
1237 ConditionNeedsUpdate = /home
1238 # multiple values
1239 ConditionNeedsUpdate = /etc /var
1240 
1241 
1242 ###### condition user
1243 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1244 ConditionUser = @system
1245 ConditionUser = name1
1246 ConditionUser = 1050
1247 ## invalid values
1248 ConditionUser = -1050
1249 # multiple values
1250 ConditionUser = @system 1050
1251 
1252 
1253 ###### controller cg (control group controller)
1254 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1255 AssertControlGroupController = cpu
1256 AssertControlGroupController = io
1257 AssertControlGroupController = memory
1258 AssertControlGroupController = pids
1259 AssertControlGroupController = v1
1260 AssertControlGroupController = v2
1261 # multiple values
1262 AssertControlGroupController = cpu memory
1263 ## invalid values
1264 AssertControlGroupController = invalid
1265 
1266 
1267 ###### controller list
1268 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1269 # single controller
1270 DisableControllers = blkio
1271 DisableControllers = bpf-devices
1272 DisableControllers = bpf-firewall
1273 DisableControllers = cpu
1274 DisableControllers = cpuacct
1275 DisableControllers = cpuset
1276 DisableControllers = devices
1277 DisableControllers = io
1278 DisableControllers = memory
1279 DisableControllers = pids
1280 # multiple controllers
1281 DisableControllers = cpu io \
1282   memory
1283 ## invalid values
1284 DisableControllers = dev invalid
1285 
1286 
1287 ###### cpu affinity
1288 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1289 # either "numa" or any of the values for "cpu index list"
1290 CPUAffinity = numa
1291 CPUAffinity = 0 1, 2 , \
1292   3, 4-8 , 10 - 12
1293 # since version 249 specifiers are supported
1294 CPUAffinity = %I
1295 ## invalid values
1296 CPUAffinity = numa-x
1297 # no multiple "numa"
1298 CPUAffinity = numa numa
1299 # no CPU index list and "numa"
1300 CPUAffinity = numa 0 1 2
1301 CPUAffinity = 0 1 2 numa
1302 
1303 
1304 ###### cpu feature
1305 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1306 ConditionCPUFeature = abm
1307 ConditionCPUFeature = adx
1308 ConditionCPUFeature = aes
1309 ConditionCPUFeature = apic
1310 ConditionCPUFeature = avx
1311 ConditionCPUFeature = avx2
1312 ConditionCPUFeature = bmi1
1313 ConditionCPUFeature = bmi2
1314 ConditionCPUFeature = clflush
1315 ConditionCPUFeature = cmov
1316 ConditionCPUFeature = constant_tsc
1317 ConditionCPUFeature = cx16
1318 ConditionCPUFeature = cx8
1319 ConditionCPUFeature = de
1320 ConditionCPUFeature = f16c
1321 ConditionCPUFeature = fma3
1322 ConditionCPUFeature = fpu
1323 ConditionCPUFeature = fxsr
1324 ConditionCPUFeature = ht
1325 ConditionCPUFeature = lahf_lm
1326 ConditionCPUFeature = lm
1327 ConditionCPUFeature = mca
1328 ConditionCPUFeature = mce
1329 ConditionCPUFeature = mmx
1330 ConditionCPUFeature = monitor
1331 ConditionCPUFeature = movbe
1332 ConditionCPUFeature = msr
1333 ConditionCPUFeature = mtrr
1334 ConditionCPUFeature = osxsave
1335 ConditionCPUFeature = pae
1336 ConditionCPUFeature = pat
1337 ConditionCPUFeature = pclmul
1338 ConditionCPUFeature = pge
1339 ConditionCPUFeature = pni
1340 ConditionCPUFeature = popcnt
1341 ConditionCPUFeature = pse
1342 ConditionCPUFeature = pse36
1343 ConditionCPUFeature = rdrand
1344 ConditionCPUFeature = rdseed
1345 ConditionCPUFeature = rdtscp
1346 ConditionCPUFeature = sep
1347 ConditionCPUFeature = sha_ni
1348 ConditionCPUFeature = sse
1349 ConditionCPUFeature = sse2
1350 ConditionCPUFeature = sse4_1
1351 ConditionCPUFeature = sse4_2
1352 ConditionCPUFeature = ssse3
1353 ConditionCPUFeature = syscall
1354 ConditionCPUFeature = tsc
1355 ConditionCPUFeature = vme
1356 ConditionCPUFeature = xsave
1357 ## invalid values
1358 ConditionCPUFeature = invalid
1359 # multiple values
1360 ConditionCPUFeature = tsc mmx
1361 
1362 
1363 ###### cpu index list
1364 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1365 NUMAMask = 0 1 2
1366 NUMAMask = 0,1, 2
1367 # using ranges
1368 NUMAMask = 0-2
1369 NUMAMask = 0 - 2
1370 NUMAMask = 0 1, 2 , \
1371   3, 4-8 ,
1372 ## invalid values
1373 NUMAMask = 0 invalid 2, 3;4
1374 NUMAMask = 0-a1
1375 NUMAMask = numa
1376 
1377 
1378 ###### cpu scheduling policy
1379 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1380 CPUSchedulingPolicy = batch
1381 CPUSchedulingPolicy = fifo
1382 CPUSchedulingPolicy = idle
1383 CPUSchedulingPolicy = other
1384 CPUSchedulingPolicy = rr
1385 ## invalid values
1386 CPUSchedulingPolicy = invalid
1387 # multiple values
1388 CPUSchedulingPolicy = batch fifo
1389 
1390 
1391 ###### cpu scheduling priority
1392 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1393 CPUSchedulingPriority = 12
1394 CPUSchedulingPriority = 99
1395 ## invalid values
1396 CPUSchedulingPriority = invalid
1397 CPUSchedulingPriority = -12
1398 CPUSchedulingPriority = 0.12
1399 # out of range
1400 CPUSchedulingPriority = 0
1401 CPUSchedulingPriority = 100
1402 # multiple values
1403 CPUSchedulingPriority = 12 34
1404 
1405 
1406 ###### cpu weight
1407 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1408 CPUWeight = idle
1409 # integer 1..10000
1410 CPUWeight = 1
1411 CPUWeight = 12
1412 CPUWeight = 123
1413 CPUWeight = 1234
1414 CPUWeight = 1234
1415 CPUWeight = 10000
1416 ## invalid values
1417 CPUWeight = -1
1418 CPUWeight = 0
1419 CPUWeight = 10001
1420 CPUWeight = 12345
1421 CPUWeight = 12.3
1422 CPUWeight = invalid
1423 # multiple values
1424 CPUWeight = 1 10000
1425 
1426 
1427 ###### delegate
1428 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1429 # single boolean
1430 Delegate = false
1431 Delegate = true
1432 # single controller
1433 Delegate = blkio
1434 Delegate = bpf-devices
1435 Delegate = bpf-firewall
1436 Delegate = cpu
1437 Delegate = cpuacct
1438 Delegate = cpuset
1439 Delegate = devices
1440 Delegate = io
1441 Delegate = memory
1442 Delegate = pids
1443 # multiple controllers
1444 Delegate = cpu io \
1445   memory
1446 ## invalid values
1447 Delegate = invalid
1448 # multiple boolean values
1449 Delegate = on off
1450 
1451 
1452 ###### device cardinal KMGT
1453 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1454 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 123
1455 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12K
1456 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12M
1457 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12G
1458 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12T
1459 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12 G
1460 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 \
1461   10M
1462 ## invalid values
1463 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 20%
1464 # invalid multiplier suffix
1465 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12g
1466 IOReadIOPSMax = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 12E
1467 # no device
1468 IOReadIOPSMax = 10
1469 IOReadIOPSMax = 10M
1470 
1471 
1472 ###### device policy
1473 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1474 DevicePolicy = auto
1475 DevicePolicy = closed
1476 DevicePolicy = strict
1477 ## invalid values
1478 DevicePolicy = invalid
1479 # multiple values
1480 DevicePolicy = auto closed
1481 
1482 
1483 ###### device time span
1484 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1485 IODeviceLatencyTargetSec = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 123
1486 IODeviceLatencyTargetSec = /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5s 20ms \
1487   100us
1488 ## invalid values
1489 # no device
1490 IODeviceLatencyTargetSec = 123
1491 IODeviceLatencyTargetSec = 5s 20ms 100us
1492 
1493 
1494 ###### exec
1495 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1496 # specifier and environment variable
1497 ExecStart = /some/cmd %u arg $var1 inside${var2}word ${var3} $var4
1498 ExecStart = cmd1 %h arg1_1 $var1, cmd2 %u arg2_1 $var2_1\
1499   $var2_2
1500 # escapes (not exactly the same as detected by HlCStringChar)
1501 ExecStart = cmd \, \' \" \\ \a \b \f \n \r \s \t \v \x0A \012 \u1234 \U12abcdef
1502 # prefix
1503 ExecStart = @/some/cmd arg "@!+-:"
1504 ExecStart = -/some/cmd-1 -option arg
1505 ExecStart = :/some/cmd arg
1506 ExecStart = +/some/cmd arg
1507 ExecStart = !/some/cmd arg
1508 ExecStart = !!/some/cmd arg
1509 ExecStart = @:-!!/some/cmd arg
1510 ExecStart = @!!-:/some/cmd arg
1511 ExecStart = @:-+/some/cmd arg
1512 ## invalid values
1513 # invalid prefix
1514 ExecStart = @ /some/cmd arg
1515 ExecStart = @ -/some/cmd arg
1516 ExecStart = +!/some/cmd arg
1517 ExecStart = !!!/some/cmd arg
1518 ExecStart = @+@/some/cmd arg
1519 ExecStart = @!!+/some/cmd arg
1520 
1521 
1522 ###### exit status
1523 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1524 SuccessExitStatus = 75
1525 SuccessExitStatus = ADDRESS_FAMILIES
1526 SuccessExitStatus = APPARMOR
1527 SuccessExitStatus = BPF
1528 SuccessExitStatus = CACHE_DIRECTORY
1529 SuccessExitStatus = CANTCREAT
1530 SuccessExitStatus = CAPABILITIES
1531 SuccessExitStatus = CGROUP
1532 SuccessExitStatus = CHDIR
1533 SuccessExitStatus = CHOWN
1534 SuccessExitStatus = CHROOT
1535 SuccessExitStatus = CONFIG
1536 SuccessExitStatus = CONFIGURATION_DIRECTORY
1537 SuccessExitStatus = CONFIRM
1538 SuccessExitStatus = CPUAFFINITY
1539 SuccessExitStatus = CREDENTIALS
1540 SuccessExitStatus = DATAERR
1541 SuccessExitStatus = EXCEPTION
1542 SuccessExitStatus = EXEC
1543 SuccessExitStatus = FAILURE
1544 SuccessExitStatus = FDS
1545 SuccessExitStatus = GROUP
1546 SuccessExitStatus = INVALIDARGUMENT
1547 SuccessExitStatus = IOERR
1548 SuccessExitStatus = IOPRIO
1549 SuccessExitStatus = KEYRING
1550 SuccessExitStatus = LIMITS
1551 SuccessExitStatus = LOGS_DIRECTORY
1552 SuccessExitStatus = MEMORY
1553 SuccessExitStatus = NAMESPACE
1554 SuccessExitStatus = NETWORK
1555 SuccessExitStatus = NICE
1556 SuccessExitStatus = NOHOST
1557 SuccessExitStatus = NOINPUT
1558 SuccessExitStatus = NOPERM
1559 SuccessExitStatus = NOPERMISSION
1560 SuccessExitStatus = NOTCONFIGURED
1561 SuccessExitStatus = NOTIMPLEMENTED
1562 SuccessExitStatus = NOTINSTALLED
1563 SuccessExitStatus = NOTRUNNING
1564 SuccessExitStatus = NOUSER
1565 SuccessExitStatus = NO_NEW_PRIVILEGES
1566 SuccessExitStatus = NUMA_POLICY
1567 SuccessExitStatus = OOM_ADJUST
1568 SuccessExitStatus = OSERR
1569 SuccessExitStatus = OSFILE
1570 SuccessExitStatus = PAM
1571 SuccessExitStatus = PERSONALITY
1572 SuccessExitStatus = PROTOCOL
1573 SuccessExitStatus = RUNTIME_DIRECTORY
1574 SuccessExitStatus = SECCOMP
1575 SuccessExitStatus = SECUREBITS
1576 SuccessExitStatus = SELINUX_CONTEXT
1577 SuccessExitStatus = SETSCHEDULER
1578 SuccessExitStatus = SETSID
1579 SuccessExitStatus = SIGNAL_MASK
1580 SuccessExitStatus = SMACK_PROCESS_LABEL
1581 SuccessExitStatus = SOFTWARE
1582 SuccessExitStatus = STATE_DIRECTORY
1583 SuccessExitStatus = STDERR
1584 SuccessExitStatus = STDIN
1585 SuccessExitStatus = STDOUT
1586 SuccessExitStatus = SUCCESS
1587 SuccessExitStatus = TEMPFAIL
1588 SuccessExitStatus = TIMERSLACK
1589 SuccessExitStatus = UNAVAILABLE
1590 SuccessExitStatus = USAGE
1591 SuccessExitStatus = USER
1592 # using signals (see values for context "signal" for a complete list of values)
1593 SuccessExitStatus = SIGABRT
1594 SuccessExitStatus = ADDRESS_FAMILIES 75 \
1595   23 SIGHUP
1596 ## invalid values
1597 SuccessExitStatus = invalid
1598 SuccessExitStatus = -23
1599 
1600 
1601 ###### exit type
1602 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1603 ExitType = main
1604 ExitType = cgroup
1605 ## invalid values
1606 ExitType = invalid
1607 # multiple values
1608 ExitType = main cgroup
1609 
1610 
1611 ###### failure mode
1612 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1613 TimeoutStartFailureMode = abort
1614 TimeoutStartFailureMode = kill
1615 TimeoutStartFailureMode = terminate
1616 ## invalid values
1617 TimeoutStartFailureMode = invalid
1618 # multiple values
1619 TimeoutStartFailureMode = abort kill
1620 
1621 
1622 ###### file mode
1623 <endfold id='1'></endfold id='1'><beginfold id='1'>[Automount]</beginfold id='1'>
1624 DirectoryMode = 755
1625 ## invalid values
1626 DirectoryMode = invalid
1627 # need octal digits
1628 DirectoryMode = 0758
1629 DirectoryMode = 075A
1630 # need 3 to 4 octal digits
1631 DirectoryMode = 07
1632 # multiple values
1633 DirectoryMode = 0755 0755
1634 
1635 
1636 ###### firmware
1637 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
1638 ConditionFirmware = uefi
1639 ConditionFirmware = device-tree
1640 ConditionFirmware = device-tree-compatible(some-device-tree)
1641 ConditionFirmware = device-tree-compatible(  some-device-tree )
1642 ConditionFirmware = smbios-field(board_name = "Custom Board")
1643 ## invalid values
1644 ConditionFirmware = invalid
1645 ConditionFirmware = device-tree-invalid
1646 # missing argument
1647 ConditionFirmware = device-tree-compatible
1648 ConditionFirmware = device-tree-compatible()
1649 ConditionFirmware = smbios-field
1650 ConditionFirmware = smbios-field()
1651 # multiple values
1652 ConditionFirmware = uefi device-tree
1653 
1654 
1655 ###### fs set
1656 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1657 RestrictFileSystems = @auxiliary-api
1658 RestrictFileSystems = @basic-api
1659 RestrictFileSystems = @common-block
1660 RestrictFileSystems = @historical-block
1661 RestrictFileSystems = @known
1662 RestrictFileSystems = @network
1663 RestrictFileSystems = @privileged-api
1664 RestrictFileSystems = @temporary
1665 ## invalid values
1666 RestrictFileSystems = invalid
1667 RestrictFileSystems = temporary
1668 
1669 
1670 ###### fs type
1671 # A selection of file system types to be used as `Type` in mount units.
1672 <endfold id='1'></endfold id='1'><beginfold id='1'>[Mount]</beginfold id='1'>
1673 Type = binfmt_misc
1674 Type = btrfs
1675 Type = configfs
1676 Type = debugfs
1677 Type = devtmpfs
1678 Type = efivarfs
1679 Type = exfat
1680 Type = ext2
1681 Type = ext3
1682 Type = ext4
1683 Type = f2fs
1684 Type = fuse
1685 Type = fusectl
1686 Type = gfs2
1687 Type = hugetlbfs
1688 Type = iso9660
1689 Type = jfs
1690 Type = mqueue
1691 Type = msdos
1692 Type = nfs
1693 Type = nilfs2
1694 Type = ntfs
1695 Type = ntfs3
1696 Type = ocfs2
1697 Type = overlay
1698 Type = proc
1699 Type = reiserfs
1700 Type = tmpfs
1701 Type = tracefs
1702 Type = udf
1703 Type = vfat
1704 Type = virtiofs
1705 Type = xfs
1706 ## invalid values
1707 Type = invalid
1708 Type = invalid ext4
1709 # multiple values
1710 Type = btrfs ext4
1711 
1712 
1713 ###### fs type set list
1714 ## list of fs type names and fs set names
1715 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1716 RestrictFileSystems = @auxiliary-api btrfs \
1717   nfs @temporary unknown
1718 
1719 
1720 ###### group and user
1721 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1722 User = 0
1723 User = 1000
1724 Group = 100
1725 User = some-name
1726 Group = some_name
1727 User = _some-name-1
1728 User = name1
1729 # using specifiers
1730 User = %i
1731 User = name-%i
1732 User = some-%i-name
1733 User = %U-name
1734 User = some-%i-name-%U
1735 ## invalid values
1736 # no negative integers
1737 User = -1000
1738 # no float
1739 User = 100.0
1740 # no name with leading digit
1741 User = 1name
1742 # no name with leading hyphen
1743 User = -name
1744 # multiple values
1745 User = 1000 1001
1746 
1747 
1748 ###### group list
1749 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1750 SupplementaryGroups = some-name %U some%iname \
1751   %Uname 1001 name%U
1752 
1753 
1754 ###### io scheduling class
1755 # see systemd.exec
1756 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1757 IOSchedulingClass = 0
1758 IOSchedulingClass = 1
1759 IOSchedulingClass = 2
1760 IOSchedulingClass = 3
1761 IOSchedulingClass = best-effort
1762 IOSchedulingClass = idle
1763 IOSchedulingClass = realtime
1764 ## invalid values
1765 IOSchedulingClass = invalid
1766 IOSchedulingClass = none
1767 IOSchedulingClass = 4
1768 IOSchedulingClass = 123
1769 IOSchedulingClass = -1
1770 # multiple values
1771 IOSchedulingClass = 1 idle
1772 IOSchedulingClass = idle idle
1773 IOSchedulingClass = idle 1
1774 
1775 
1776 ###### ip address list
1777 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1778 IPAddressAllow = any
1779 IPAddressAllow = localhost
1780 IPAddressAllow = link-local
1781 IPAddressDeny = multicast
1782 IPAddressAllow = localhost \
1783   multicast
1784 IPAddressAllow = 127.0.0.0/8 ::1/128 169.254.0.0/16 fe80::/64
1785 ## invalid values
1786 IPAddressAllow = invalid
1787 
1788 
1789 ###### ip bind
1790 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
1791 BindIPv6Only = both
1792 BindIPv6Only = default
1793 BindIPv6Only = ipv6-only
1794 ## invalid values
1795 BindIPv6Only = invalid
1796 # multiple values
1797 BindIPv6Only = both default
1798 
1799 
1800 ###### io scheduling priority
1801 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1802 IOSchedulingPriority = 0
1803 IOSchedulingPriority = 1
1804 IOSchedulingPriority = 2
1805 IOSchedulingPriority = 3
1806 IOSchedulingPriority = 4
1807 IOSchedulingPriority = 5
1808 IOSchedulingPriority = 6
1809 IOSchedulingPriority = 7
1810 ## invalid values
1811 IOSchedulingPriority = 8
1812 IOSchedulingPriority = 123
1813 IOSchedulingPriority = -1
1814 # multiple values
1815 IOSchedulingPriority = 0 3
1816 
1817 
1818 ###### ip tos (terms-of-service)
1819 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
1820 IPTOS = 15
1821 IPTOS = low-cost
1822 IPTOS = low-delay
1823 IPTOS = reliability
1824 IPTOS = throughput
1825 ## invalid values
1826 IPTOS = invalid
1827 # multiple values
1828 IPTOS = 15 20
1829 IPTOS = low-delay 15
1830 
1831 
1832 ###### keyring mode
1833 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1834 KeyringMode = inherit
1835 KeyringMode = private
1836 KeyringMode = shared
1837 ## invalid values
1838 KeyringMode = invalid
1839 # multiple values
1840 KeyringMode = shared private
1841 
1842 
1843 ###### kill mode
1844 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1845 KillMode = control-group
1846 KillMode = mixed
1847 KillMode = none
1848 KillMode = process
1849 ## invalid values
1850 KillMode = invalid
1851 # multiple values
1852 KillMode = mixed process
1853 
1854 
1855 ###### limit bytes
1856 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1857 LimitFSIZE = 123
1858 LimitFSIZE = 12K
1859 LimitFSIZE = 12M
1860 LimitFSIZE = 12G
1861 LimitFSIZE = 12T
1862 LimitFSIZE = 12P
1863 LimitFSIZE = 12E
1864 LimitFSIZE = 12 G
1865 LimitFSIZE = 12G:24G
1866 LimitFSIZE = 12 G:24 G
1867 LimitFSIZE = 12 G: 24 G
1868 LimitFSIZE = 12 G :24 G
1869 LimitFSIZE = 12 G : 24 G
1870 LimitFSIZE = infinity
1871 ## invalid values
1872 LimitFSIZE = invalid
1873 # invalid bytes suffix
1874 LimitFSIZE = 12g
1875 LimitFSIZE = 12H
1876 
1877 
1878 ###### limit nice level
1879 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1880 LimitNICE = -1
1881 LimitNICE = -12
1882 LimitNICE = -20
1883 LimitNICE = +1
1884 LimitNICE = +12
1885 LimitNICE = +19
1886 LimitNICE = 0
1887 LimitNICE = 9
1888 LimitNICE = 12
1889 LimitNICE = 23
1890 LimitNICE = 34
1891 LimitNICE = 40
1892 LimitNICE = -10:+10
1893 LimitNICE = 20:30
1894 LimitNICE = infinity
1895 ## invalid values
1896 LimitNICE = invalid
1897 LimitNICE = 0.2
1898 LimitNICE = 20 : infinity
1899 LimitNICE = infinity : 20
1900 # out of range
1901 LimitNICE = -21
1902 LimitNICE = -123
1903 LimitNICE = +20
1904 LimitNICE = +123
1905 LimitNICE = 41
1906 LimitNICE = 123
1907 
1908 
1909 ###### limit number
1910 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1911 LimitNOFILE = 123
1912 LimitNOFILE = 123:321
1913 LimitNOFILE = infinity
1914 ## invalid values
1915 LimitNOFILE = invalid
1916 # negative values
1917 LimitNOFILE = -123
1918 
1919 
1920 ###### limit time span
1921 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1922 LimitCPU = 15s 10us : 20s 5ms
1923 LimitCPU = infinity
1924 ## invalid values
1925 # only a single infinity
1926 LimitCPU = infinity : infinity
1927 LimitCPU = infinity : 10s 15ms
1928 LimitCPU = 10s 15ms : infinity
1929 
1930 
1931 ###### log facility
1932 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1933 SyslogFacility = auth
1934 SyslogFacility = authpriv
1935 SyslogFacility = cron
1936 SyslogFacility = daemon
1937 SyslogFacility = ftp
1938 SyslogFacility = kern
1939 SyslogFacility = local0
1940 SyslogFacility = local1
1941 SyslogFacility = local2
1942 SyslogFacility = local3
1943 SyslogFacility = local4
1944 SyslogFacility = local5
1945 SyslogFacility = local6
1946 SyslogFacility = local7
1947 SyslogFacility = lpr
1948 SyslogFacility = mail
1949 SyslogFacility = news
1950 SyslogFacility = syslog
1951 SyslogFacility = user
1952 SyslogFacility = uucp
1953 ## invalid values
1954 SyslogFacility = invalid
1955 # multiple values
1956 SyslogFacility = cron daemon
1957 
1958 
1959 ###### log level
1960 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1961 LogLevelMax = alert
1962 LogLevelMax = crit
1963 LogLevelMax = debug
1964 LogLevelMax = emerg
1965 LogLevelMax = err
1966 LogLevelMax = info
1967 LogLevelMax = notice
1968 LogLevelMax = warning
1969 ## invalid values
1970 LogLevelMax = invalid
1971 # multiple values
1972 LogLevelMax = info notice
1973 
1974 
1975 ###### memory mapping
1976 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
1977 CoredumpFilter = all
1978 CoredumpFilter = default
1979 CoredumpFilter = private-anonymous
1980 CoredumpFilter = shared-anonymous
1981 CoredumpFilter = private-file-backed
1982 CoredumpFilter = shared-file-backed
1983 CoredumpFilter = elf-headers
1984 CoredumpFilter = private-huge
1985 CoredumpFilter = shared-huge
1986 CoredumpFilter = private-dax
1987 CoredumpFilter = shared-dax
1988 # multiple values
1989 CoredumpFilter = private-file-backed shared-dax
1990 ## invalid values
1991 CoredumpFilter = invalid
1992 CoredumpFilter = private-file-backed invalid elf-headers
1993 CoredumpFilter = invalid shared-dax
1994 # only spaces as separator
1995 CoredumpFilter = private-file-backed, shared-dax
1996 
1997 
1998 ###### memory pressure watch
1999 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2000 MemoryPressureWatch = auto
2001 MemoryPressureWatch = off
2002 MemoryPressureWatch = on
2003 MemoryPressureWatch = skip
2004 ## invalid values
2005 MemoryPressureWatch = invalid
2006 # multiple values
2007 MemoryPressureWatch = auto skip
2008 
2009 
2010 ###### mount flag
2011 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2012 MountFlags = private
2013 MountFlags = shared
2014 MountFlags = slave
2015 ## invalid values
2016 MountFlags = invalid
2017 # multiple values
2018 MountFlags = shared slave
2019 
2020 
2021 ###### nft set list
2022 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2023 NFTSet = cgroup:arp::filter::my_service
2024 NFTSet = cgroup:bridge::filter::my_service
2025 NFTSet = cgroup:inet::filter::my_service
2026 NFTSet = cgroup:ip::filter::my_service
2027 NFTSet = cgroup:ip6::filter::my_service
2028 NFTSet = cgroup:ip::filter::my_service
2029 NFTSet = cgroup:netdev::filter::my_service
2030 NFTSet = group:inet::filter::my_service
2031 NFTSet = user:inet::filter::my_service
2032 ## multiple sets
2033 NFTSet = cgroup:inet:filter:my_service \
2034   user:inet:filter:serviceuser
2035 ## invalid values
2036 NFTSet = invalid:inet::filter::my_service
2037 NFTSet = cgroup::invalid::filter::my_service
2038 
2039 
2040 ###### nice level
2041 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2042 Nice = -1
2043 Nice = -12
2044 Nice = -20
2045 Nice = +1
2046 Nice = +12
2047 Nice = +19
2048 Nice = 0
2049 Nice = 12
2050 Nice = 19
2051 ## invalid values
2052 Nice = invalid
2053 Nice = 0.2
2054 # out of range
2055 Nice = -21
2056 Nice = -123
2057 Nice = +20
2058 Nice = +123
2059 Nice = 20
2060 Nice = 30
2061 Nice = 123
2062 # multiple values
2063 Nice = 12 34
2064 
2065 
2066 ###### notify access
2067 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2068 NotifyAccess = all
2069 NotifyAccess = exec
2070 NotifyAccess = main
2071 NotifyAccess = none
2072 ## invalid values
2073 NotifyAccess = invalid
2074 # multiple values
2075 NotifyAccess = exec none
2076 
2077 
2078 ###### numa mask
2079 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2080 NUMAMask = all
2081 NUMAMask = 1,2,3-8
2082 ## invalid values
2083 NUMAMask = invalid
2084 # both all and cpu index list
2085 NUMAMask = all, 1,2,3-8
2086 NUMAMask = 1,2,3-8, all
2087 
2088 
2089 ###### numa policy
2090 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2091 NUMAPolicy = bind
2092 NUMAPolicy = default
2093 NUMAPolicy = interleave
2094 NUMAPolicy = local
2095 NUMAPolicy = preferred
2096 ## invalid values
2097 NUMAPolicy = invalid
2098 # multiple values
2099 NUMAPolicy = interleave local
2100 
2101 
2102 ###### on failure job mode
2103 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
2104 OnFailureJobMode = fail
2105 OnFailureJobMode = flush
2106 OnFailureJobMode = ignore-dependencies
2107 OnFailureJobMode = ignore-requirements
2108 OnFailureJobMode = isolate
2109 OnFailureJobMode = replace
2110 OnFailureJobMode = replace-irreversibly
2111 ## invalid values
2112 OnFailureJobMode = invalid
2113 OnFailureJobMode = invalid fail
2114 # multiple values
2115 OnFailureJobMode = replace fail
2116 
2117 
2118 ###### oom behavior (out-of-memory killer behavior)
2119 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2120 ManagedOOMSwap = auto
2121 ManagedOOMSwap = kill
2122 ## invalid values
2123 ManagedOOMSwap = invalid
2124 # multiple values
2125 ManagedOOMSwap = auto kill
2126 
2127 
2128 ###### oom preference (out-of-memory killer preference)
2129 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2130 ManagedOOMPreference = avoid
2131 ManagedOOMPreference = none
2132 ManagedOOMPreference = omit
2133 ## invalid values
2134 ManagedOOMPreference = invalid
2135 # multiple values
2136 ManagedOOMPreference = avoid none
2137 
2138 
2139 ###### oom policy (out-of-memory killer policy)
2140 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2141 OOMPolicy = continue
2142 OOMPolicy = kill
2143 OOMPolicy = stop
2144 ## invalid values
2145 OOMPolicy = invalid
2146 # multiple values
2147 OOMPolicy = kill stop
2148 
2149 
2150 ###### oom score adjust (out-of-memory killer score adjustment)
2151 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2152 OOMScoreAdjust = -1000
2153 OOMScoreAdjust = -123
2154 OOMScoreAdjust = 0
2155 OOMScoreAdjust = 321
2156 OOMScoreAdjust = +321
2157 OOMScoreAdjust = +1000
2158 OOMScoreAdjust = 1000
2159 ## invalid values
2160 OOMScoreAdjust = invalid
2161 OOMScoreAdjust = 1.2
2162 # out of range
2163 OOMScoreAdjust = -1001
2164 OOMScoreAdjust = +1001
2165 OOMScoreAdjust = 1001
2166 
2167 ###### open file option
2168 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2169 OpenFile = /some/path/:some-name:append,graceful,read-only,truncate
2170 ## invalid values
2171 OpenFile = /some/path/:some-name:some,invalid,options
2172 
2173 ###### percent
2174 [Slice]
2175 CPUQuota = 0.1%
2176 CPUQuota = 12 %
2177 CPUQuota = 123.4%
2178 ## invalid values
2179 CPUQuota = 10
2180 CPUQuota = invalid
2181 # multiple values
2182 CPUQuota = 10% 20%
2183 
2184 
2185 ###### personality
2186 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2187 Personality = arm
2188 Personality = arm-be
2189 Personality = arm64
2190 Personality = arm64-be
2191 Personality = ppc
2192 Personality = ppc-le
2193 Personality = ppc64
2194 Personality = ppc64-le
2195 Personality = s390
2196 Personality = s390x
2197 Personality = x86
2198 Personality = x86-64
2199 ## invalid values
2200 Personality = invalid
2201 Personality = alpha
2202 Personality = m68k
2203 # multiple values
2204 Personality = x86-64 s390x
2205 
2206 
2207 ###### proc subset
2208 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2209 ProcSubset = all
2210 ProcSubset = pid
2211 ## invalid values
2212 ProcSubset = invalid
2213 # multiple values
2214 ProcSubset = all pid
2215 
2216 
2217 ###### protect home
2218 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2219 ProtectHome = read-only
2220 ProtectHome = tmpfs
2221 ProtectHome = true
2222 ProtectHome = false
2223 ProtectHome = yes
2224 ## invalid values
2225 ProtectHome = invalid
2226 # multiple values
2227 ProtectHome = tmpfs true
2228 
2229 
2230 ###### protect system
2231 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2232 ProtectSystem = full
2233 ProtectSystem = strict
2234 ProtectSystem = true
2235 ProtectSystem = false
2236 ProtectSystem = yes
2237 ProtectSystem = no
2238 ## invalid values
2239 ProtectSystem = invalid
2240 # multiple values
2241 ProtectSystem = full true
2242 
2243 
2244 ###### restart
2245 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2246 Restart = always
2247 Restart = no
2248 Restart = on-abnormal
2249 Restart = on-abort
2250 Restart = on-failure
2251 Restart = on-success
2252 Restart = on-watchdog
2253 ## invalid values
2254 Restart = invalid
2255 # multiple values
2256 Restart = no on-abort
2257 
2258 
2259 ###### restart mode
2260 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2261 RestartMode = direct
2262 RestartMode = normal
2263 ## invalid values
2264 RestartMode = invalid
2265 # multiple values
2266 RestartMode = direct normal
2267 
2268 
2269 ###### runtime directory preserve
2270 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2271 RuntimeDirectoryPreserve = restart
2272 RuntimeDirectoryPreserve = true
2273 RuntimeDirectoryPreserve = false
2274 RuntimeDirectoryPreserve = yes
2275 RuntimeDirectoryPreserve = no
2276 ## invalid values
2277 RuntimeDirectoryPreserve = invalid
2278 # multiple values
2279 RuntimeDirectoryPreserve = restart no
2280 
2281 
2282 ###### secure bits list
2283 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2284 SecureBits = keep-caps
2285 SecureBits = keep-caps-locked
2286 SecureBits = no-setuid-fixup
2287 SecureBits = no-setuid-fixup-locked
2288 SecureBits = noroot
2289 SecureBits = noroot-locked
2290 SecureBits = keep-caps noroot-locked \
2291   no-setuid-fixup
2292 ## invalid values
2293 SecureBits = invalid
2294 
2295 
2296 ###### security
2297 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
2298 ConditionSecurity = apparmor
2299 ConditionSecurity = audit
2300 ConditionSecurity = ima
2301 ConditionSecurity = measured-uki
2302 ConditionSecurity = selinux
2303 ConditionSecurity = smack
2304 ConditionSecurity = tomoyo
2305 ConditionSecurity = tpm2
2306 ConditionSecurity = uefi-secureboot
2307 ## invalid values
2308 ConditionSecurity = invalid
2309 # multiple values
2310 ConditionSecurity = invalid selinux
2311 ConditionSecurity = apparmor selinux
2312 
2313 
2314 ###### service type
2315 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2316 Type = dbus
2317 Type = exec
2318 Type = forking
2319 Type = idle
2320 Type = notify
2321 Type = oneshot
2322 Type = simple
2323 ## invalid values
2324 Type = invalid
2325 # multiple values
2326 Type = exec forking
2327 
2328 
2329 ###### signal
2330 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2331 KillSignal = SIGABRT
2332 KillSignal = SIGALRM
2333 KillSignal = SIGBUS
2334 KillSignal = SIGCHLD
2335 KillSignal = SIGCLD
2336 KillSignal = SIGCONT
2337 KillSignal = SIGEMT
2338 KillSignal = SIGFPE
2339 KillSignal = SIGHUP
2340 KillSignal = SIGILL
2341 KillSignal = SIGINFO
2342 KillSignal = SIGINT
2343 KillSignal = SIGIO
2344 KillSignal = SIGIOT
2345 KillSignal = SIGKILL
2346 KillSignal = SIGLOST
2347 KillSignal = SIGPIPE
2348 KillSignal = SIGPOLL
2349 KillSignal = SIGPROF
2350 KillSignal = SIGPWR
2351 KillSignal = SIGQUIT
2352 KillSignal = SIGSEGV
2353 KillSignal = SIGSTKFLT
2354 KillSignal = SIGSTOP
2355 KillSignal = SIGSYS
2356 KillSignal = SIGTERM
2357 KillSignal = SIGTRAP
2358 KillSignal = SIGTSTP
2359 KillSignal = SIGTTIN
2360 KillSignal = SIGTTOU
2361 KillSignal = SIGUNUSED
2362 KillSignal = SIGURG
2363 KillSignal = SIGUSR1
2364 KillSignal = SIGUSR2
2365 KillSignal = SIGVTALRM
2366 KillSignal = SIGWINCH
2367 KillSignal = SIGXCPU
2368 KillSignal = SIGXFSZ
2369 ## invalid values
2370 KillSignal = SIG_INVALID
2371 
2372 
2373 ###### socket bind rule
2374 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2375 SocketBindAllow = any
2376 SocketBindAllow = ipv4:
2377 SocketBindAllow = ipv4:tcp:
2378 SocketBindAllow = ipv4:tcp:12345
2379 SocketBindAllow = ipv4:tcp:1-123
2380 SocketBindAllow = ipv6:udp:1-123
2381 SocketBindAllow = ipv6: udp:  1  -  123
2382 SocketBindAllow = tcp:
2383 SocketBindAllow = 12345
2384 SocketBindAllow = 123-456
2385 ## invalid values
2386 SocketBindAllow = ipv4 :
2387 SocketBindAllow = ipv5:tcp:
2388 SocketBindAllow = ipv4:udcp:
2389 SocketBindAllow = tcp:ipv4
2390 SocketBindAllow = ipv4:tcp: 12345
2391 # multiple values
2392 SocketBindAllow = any ipv4:
2393 
2394 
2395 ###### socket protocol
2396 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
2397 SocketProtocol = sctp
2398 SocketProtocol = udplite
2399 ## invalid values
2400 SocketProtocol = invalid
2401 # multiple values
2402 SocketProtocol = sctp udplite
2403 
2404 
2405 ###### standard input
2406 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2407 StandardInput = data
2408 StandardInput = fd
2409 StandardInput = fd:some_name
2410 StandardInput = file:/some/absolute/path
2411 StandardInput = null
2412 StandardInput = socket
2413 StandardInput = tty
2414 StandardInput = tty-fail
2415 StandardInput = tty-force
2416 ## invalid values
2417 StandardInput = invalid
2418 # multiple values
2419 StandardInput = null tty
2420 StandardInput = file:/some/absolute/path socket
2421 # no absolute path immediately after `file:`
2422 StandardInput = file:
2423 StandardInput = file:some//path
2424 StandardInput = file: /some/absolute/path
2425 
2426 
2427 ###### standard output
2428 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2429 # NOTE: Option StandardError accepts the same values.
2430 StandardOutput = append:/some/absolute/path
2431 StandardOutput = fd
2432 StandardOutput = fd:some_name
2433 StandardOutput = file:/some/absolute/path
2434 StandardOutput = inherit
2435 StandardOutput = journal
2436 StandardOutput = journal+console
2437 StandardOutput = kmsg
2438 StandardOutput = kmsg+console
2439 StandardOutput = null
2440 StandardOutput = socket
2441 StandardOutput = truncate:/some/absolute/path
2442 StandardOutput = tty
2443 ## invalid values
2444 StandardOutput = invalid
2445 StandardOutput = syslog
2446 # no absolute path immediately after append:, file:
2447 StandardOutput = append:
2448 StandardOutput = append:some/relative/path
2449 StandardOutput = append: /some/relative/path
2450 StandardOutput = file:
2451 StandardOutput = file:some/relative/path
2452 StandardOutput = file: /some/relative/path
2453 # multiple values
2454 StandardOutput = null tty
2455 StandardOutput = file:/some/absolute/path socket
2456 
2457 
2458 ###### system call architecture
2459 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2460 SystemCallArchitectures = mips64-le-n32
2461 SystemCallArchitectures = mips64-n32
2462 SystemCallArchitectures = native
2463 SystemCallArchitectures = x32
2464 # all values from "architecture" are also valid
2465 SystemCallArchitectures = alpha \
2466   mips sparc
2467 ## invalid values
2468 SystemCallArchitectures = invalid
2469 
2470 
2471 ###### system call errno
2472 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2473 SystemCallErrorNumber = kill
2474 SystemCallErrorNumber = log
2475 # from man errno(3)
2476 SystemCallErrorNumber = EACCES
2477 SystemCallErrorNumber = EADDRINUSE
2478 SystemCallErrorNumber = EADDRNOTAVAIL
2479 SystemCallErrorNumber = EAFNOSUPPORT
2480 SystemCallErrorNumber = EAGAIN
2481 SystemCallErrorNumber = EALREADY
2482 SystemCallErrorNumber = EBADE
2483 SystemCallErrorNumber = EBADF
2484 SystemCallErrorNumber = EBADFD
2485 SystemCallErrorNumber = EBADMSG
2486 SystemCallErrorNumber = EBADR
2487 SystemCallErrorNumber = EBADRQC
2488 SystemCallErrorNumber = EBADSLT
2489 SystemCallErrorNumber = EBUSY
2490 SystemCallErrorNumber = ECANCELED
2491 SystemCallErrorNumber = ECHILD
2492 SystemCallErrorNumber = ECHRNG
2493 SystemCallErrorNumber = ECOMM
2494 SystemCallErrorNumber = ECONNABORTED
2495 SystemCallErrorNumber = ECONNREFUSED
2496 SystemCallErrorNumber = ECONNRESET
2497 SystemCallErrorNumber = EDEADLK
2498 SystemCallErrorNumber = EDEADLOCK
2499 SystemCallErrorNumber = EDESTADDRREQ
2500 SystemCallErrorNumber = EDOM
2501 SystemCallErrorNumber = EDQUOT
2502 SystemCallErrorNumber = EEXIST
2503 SystemCallErrorNumber = EFAULT
2504 SystemCallErrorNumber = EFBIG
2505 SystemCallErrorNumber = EHOSTDOWN
2506 SystemCallErrorNumber = EHOSTUNREACH
2507 SystemCallErrorNumber = EHWPOISON
2508 SystemCallErrorNumber = EIDRM
2509 SystemCallErrorNumber = EILSEQ
2510 SystemCallErrorNumber = EINPROGRESS
2511 SystemCallErrorNumber = EINTR
2512 SystemCallErrorNumber = EINVAL
2513 SystemCallErrorNumber = EIO
2514 SystemCallErrorNumber = EISCONN
2515 SystemCallErrorNumber = EISDIR
2516 SystemCallErrorNumber = EISNAM
2517 SystemCallErrorNumber = EKEYEXPIRED
2518 SystemCallErrorNumber = EKEYREJECTED
2519 SystemCallErrorNumber = EKEYREVOKED
2520 SystemCallErrorNumber = EL2HLT
2521 SystemCallErrorNumber = EL2NSYNC
2522 SystemCallErrorNumber = EL3HLT
2523 SystemCallErrorNumber = EL3RST
2524 SystemCallErrorNumber = ELIBACC
2525 SystemCallErrorNumber = ELIBBAD
2526 SystemCallErrorNumber = ELIBEXEC
2527 SystemCallErrorNumber = ELIBMAX
2528 SystemCallErrorNumber = ELIBSCN
2529 SystemCallErrorNumber = ELNRNG
2530 SystemCallErrorNumber = ELOOP
2531 SystemCallErrorNumber = EMEDIUMTYPE
2532 SystemCallErrorNumber = EMFILE
2533 SystemCallErrorNumber = EMLINK
2534 SystemCallErrorNumber = EMSGSIZE
2535 SystemCallErrorNumber = EMULTIHOP
2536 SystemCallErrorNumber = ENAMETOOLONG
2537 SystemCallErrorNumber = ENETDOWN
2538 SystemCallErrorNumber = ENETRESET
2539 SystemCallErrorNumber = ENETUNREACH
2540 SystemCallErrorNumber = ENFILE
2541 SystemCallErrorNumber = ENOANO
2542 SystemCallErrorNumber = ENOBUFS
2543 SystemCallErrorNumber = ENODATA
2544 SystemCallErrorNumber = ENODEV
2545 SystemCallErrorNumber = ENOENT
2546 SystemCallErrorNumber = ENOEXEC
2547 SystemCallErrorNumber = ENOKEY
2548 SystemCallErrorNumber = ENOLCK
2549 SystemCallErrorNumber = ENOLINK
2550 SystemCallErrorNumber = ENOMEDIUM
2551 SystemCallErrorNumber = ENOMEM
2552 SystemCallErrorNumber = ENOMSG
2553 SystemCallErrorNumber = ENONET
2554 SystemCallErrorNumber = ENOPKG
2555 SystemCallErrorNumber = ENOPROTOOPT
2556 SystemCallErrorNumber = ENOSPC
2557 SystemCallErrorNumber = ENOSR
2558 SystemCallErrorNumber = ENOSTR
2559 SystemCallErrorNumber = ENOSYS
2560 SystemCallErrorNumber = ENOTBLK
2561 SystemCallErrorNumber = ENOTCONN
2562 SystemCallErrorNumber = ENOTDIR
2563 SystemCallErrorNumber = ENOTEMPTY
2564 SystemCallErrorNumber = ENOTRECOVERABLE
2565 SystemCallErrorNumber = ENOTSOCK
2566 SystemCallErrorNumber = ENOTSUP
2567 SystemCallErrorNumber = ENOTTY
2568 SystemCallErrorNumber = ENOTUNIQ
2569 SystemCallErrorNumber = ENXIO
2570 SystemCallErrorNumber = EOPNOTSUPP
2571 SystemCallErrorNumber = EOVERFLOW
2572 SystemCallErrorNumber = EOWNERDEAD
2573 SystemCallErrorNumber = EPERM
2574 SystemCallErrorNumber = EPFNOSUPPORT
2575 SystemCallErrorNumber = EPIPE
2576 SystemCallErrorNumber = EPROTO
2577 SystemCallErrorNumber = EPROTONOSUPPORT
2578 SystemCallErrorNumber = EPROTOTYPE
2579 SystemCallErrorNumber = ERANGE
2580 SystemCallErrorNumber = EREMCHG
2581 SystemCallErrorNumber = EREMOTE
2582 SystemCallErrorNumber = EREMOTEIO
2583 SystemCallErrorNumber = ERESTART
2584 SystemCallErrorNumber = ERFKILL
2585 SystemCallErrorNumber = EROFS
2586 SystemCallErrorNumber = ESHUTDOWN
2587 SystemCallErrorNumber = ESOCKTNOSUPPORT
2588 SystemCallErrorNumber = ESPIPE
2589 SystemCallErrorNumber = ESRCH
2590 SystemCallErrorNumber = ESTALE
2591 SystemCallErrorNumber = ESTRPIPE
2592 SystemCallErrorNumber = ETIME
2593 SystemCallErrorNumber = ETIMEDOUT
2594 SystemCallErrorNumber = ETOOMANYREFS
2595 SystemCallErrorNumber = ETXTBSY
2596 SystemCallErrorNumber = EUCLEAN
2597 SystemCallErrorNumber = EUNATCH
2598 SystemCallErrorNumber = EUSERS
2599 SystemCallErrorNumber = EWOULDBLOCK
2600 SystemCallErrorNumber = EXDEV
2601 SystemCallErrorNumber = EXFULL
2602 SystemCallErrorNumber = 1
2603 SystemCallErrorNumber = 12
2604 SystemCallErrorNumber = 123
2605 SystemCallErrorNumber = 1234
2606 SystemCallErrorNumber = 2
2607 SystemCallErrorNumber = 23
2608 SystemCallErrorNumber = 234
2609 SystemCallErrorNumber = 2345
2610 SystemCallErrorNumber = 3
2611 SystemCallErrorNumber = 34
2612 SystemCallErrorNumber = 345
2613 SystemCallErrorNumber = 3456
2614 SystemCallErrorNumber = 3999
2615 SystemCallErrorNumber = 4000
2616 SystemCallErrorNumber = 4009
2617 SystemCallErrorNumber = 4019
2618 SystemCallErrorNumber = 4089
2619 SystemCallErrorNumber = 4095
2620 ## invalid values
2621 SystemCallErrorNumber = invalid
2622 SystemCallErrorNumber = -12
2623 SystemCallErrorNumber = 0.12
2624 # out of range
2625 SystemCallErrorNumber = 0
2626 SystemCallErrorNumber = 4096
2627 SystemCallErrorNumber = 5000
2628 # multiple values
2629 SystemCallErrorNumber = ESPIPE EUCLEAN
2630 SystemCallErrorNumber = 123 EUCLEAN
2631 
2632 
2633 ###### time span
2634 <endfold id='1'></endfold id='1'><beginfold id='1'>[Timer]</beginfold id='1'>
2635 # without unit
2636 OnBootSec = 15
2637 # micro second
2638 OnBootSec = 123 usec
2639 OnBootSec = 123us
2640 # using UTF-8 "Micro Sign" U+00B5 &micro; &#181; &#xB5;
2641 OnBootSec = 123 µs
2642 # using UTF-8 "Greek Small Letter Mu" U+03BC &mu; &#956; &#x3BC;
2643 OnBootSec = 123 μs
2644 # milli second
2645 OnBootSec = 123 msec
2646 OnBootSec = 123ms
2647 # second
2648 OnBootSec = 74 s
2649 OnBootSec = 2sec
2650 OnBootSec = 12 second
2651 OnBootSec = 1 seconds
2652 # minute
2653 OnBootSec = 342 m
2654 OnBootSec = 2min
2655 OnBootSec = 7 minute
2656 OnBootSec = 1 minutes
2657 # hour
2658 OnBootSec = 2 h
2659 OnBootSec = 48   hr
2660 OnBootSec = 2hour
2661 OnBootSec = 2hours
2662 # day
2663 OnBootSec = 2 d
2664 OnBootSec = 1 day
2665 OnBootSec = 7  days
2666 # week
2667 OnBootSec = 2 w
2668 OnBootSec = 123 week
2669 OnBootSec = 0 weeks
2670 # month
2671 OnBootSec = 12 M
2672 OnBootSec = 7 month
2673 OnBootSec = 1 months
2674 # year
2675 OnBootSec = 1y
2676 OnBootSec = 123year
2677 OnBootSec = 12 years
2678 # combined
2679 OnBootSec = 55s500ms
2680 OnBootSec = 300ms20s 5day
2681 OnBootSec = 123 5 days 1m 12 1sec 123 \
2682   23 msec 13 1us
2683 # multiple hours
2684 OnBootSec = 7hr 2hr \
2685   1d 2w
2686 ## invalid values
2687 # mi is invalid
2688 OnBootSec = 1mi
2689 # hs is invalid
2690 OnBootSec = 2hs
2691 # ds is invalid
2692 OnBootSec = 7 ds 1y
2693 # unit without amount
2694 OnBootSec = 12 min sec
2695 OnBootSec = min 1 sec
2696 # invalid unit
2697 OnBootSec = 12foo 1 bar
2698 
2699 
2700 ###### timeout
2701 # all values from time span are valid
2702 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
2703 JobTimeoutSec = 0
2704 JobTimeoutSec = 12345
2705 JobTimeoutSec = 123 5 days 1m 12 1sec 123\
2706   23 msec 13 1us
2707 JobTimeoutSec = infinity
2708 ## invalid values
2709 JobTimeoutSec = invalid
2710 JobTimeoutSec = inf
2711 JobTimeoutSec = -10
2712 JobTimeoutSec = 0.235
2713 
2714 
2715 ###### timestamping
2716 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
2717 Timestamping = ns
2718 Timestamping = nsec
2719 Timestamping = off
2720 Timestamping = us
2721 Timestamping = usec
2722 # using UTF-8 "Micro Sign" U+00B5 &micro; &#181; &#xB5;
2723 Timestamping = µs
2724 # using UTF-8 "Greek Small Letter Mu" U+03BC &mu; &#956; &#x3BC;
2725 Timestamping = μs
2726 ## invalid values
2727 Timestamping = nanosec
2728 # multiple values
2729 Timestamping = nsec off
2730 
2731 
2732 ###### unit
2733 <endfold id='1'></endfold id='1'><beginfold id='1'>[Path]</beginfold id='1'>
2734 #### names
2735 Unit = some-name.service
2736 Unit = some.name.service
2737 Unit = some:name.service
2738 Unit = some@.service
2739 Unit = some@instance.service
2740 Unit = some@other-instance.service
2741 Unit = some@other.instance.service
2742 Unit = some@other:instance.service
2743 Unit = some@other@instance.service
2744 Unit = some@other%iinstance.service
2745 Unit = systemd-fsck@dev-nvme0n1p2.service
2746 Unit = some@%i.service
2747 Unit = dev-disk-by\x2duuid-5af23b\x2dfde6\x2d424e\x2da1bb\x2de88bc.swap
2748 ## invalid names
2749 # \x2x is an invalid escape as 2x is no hex number
2750 Unit = dev-disk-by\x2xuuid-5af23b\x2dfde6\x2d424e\x2da1bb\x2de88bc.swap
2751 #### extensions
2752 Unit = some.automount
2753 Unit = some.device
2754 Unit = some.mount
2755 Unit = some.service
2756 Unit = some.socket
2757 Unit = some.slice
2758 Unit = some.swap
2759 Unit = some.target
2760 ## invalid extension
2761 Unit = some.invalid
2762 # incomplete unit, missing extension
2763 Unit = some.
2764 # multiple values
2765 Unit = some.service some-other.service
2766 Unit = some.service.service \
2767   some.other.service.service
2768 
2769 
2770 ###### unit list
2771 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
2772 #### names
2773 After = some.service.service \
2774   some.other.service.service \
2775   some@instance.service \
2776   some@%i.service
2777 ## invalid values
2778 # incomplete unit, missing extension
2779 After = some. \
2780   some.service \
2781   some-other.service
2782 
2783 
2784 ###### unit list socket
2785 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2786 Sockets = some.socket some@instance.socket
2787 ## invalid values
2788 Sockets = some.service
2789 Sockets = some.service some.socket
2790 
2791 
2792 ###### unit service
2793 <endfold id='1'></endfold id='1'><beginfold id='1'>[Socket]</beginfold id='1'>
2794 Service = some.service
2795 Service = some@instance.service
2796 ## invalid values
2797 Service = some.invalid
2798 # other unit types
2799 Service = some.socket
2800 Service = some.target
2801 # multiple values
2802 Service = some.service other.service
2803 
2804 
2805 ###### unit slice
2806 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2807 Slice = some.slice
2808 Slice = some@instance.slice
2809 ## invalid values
2810 # other unit types
2811 Slice = some.service
2812 Slice = some.target
2813 # multiple values
2814 Slice = some.slice other.slice
2815 
2816 
2817 ###### utmp mode
2818 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2819 UtmpMode = init
2820 UtmpMode = login
2821 UtmpMode = user
2822 ## invalid values
2823 UtmpMode = invalid
2824 # multiple values
2825 UtmpMode = login user
2826 
2827 
2828 ###### variable assignments
2829 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2830 Environment = DISPLAY=:%i
2831 Environment = XAUTHORITY=%t/Xauthority.%i var1=15 \
2832   "var2=value with spaces" EMPTY=
2833 Environment = XDG_VTNR=vt%i
2834 LogExtraFields = NAME=VALUE
2835 
2836 
2837 ###### virtualization
2838 <endfold id='1'></endfold id='1'><beginfold id='1'>[Unit]</beginfold id='1'>
2839 ConditionVirtualization = acrn
2840 ConditionVirtualization = bhyve
2841 ConditionVirtualization = bochs
2842 ConditionVirtualization = docker
2843 ConditionVirtualization = kvm
2844 ConditionVirtualization = lxc
2845 ConditionVirtualization = lxc-libvirt
2846 ConditionVirtualization = microsoft
2847 ConditionVirtualization = openvz
2848 ConditionVirtualization = oracle
2849 ConditionVirtualization = parallels
2850 ConditionVirtualization = qemu
2851 ConditionVirtualization = qnx
2852 ConditionVirtualization = rkt
2853 ConditionVirtualization = sre
2854 ConditionVirtualization = systemd-nspawn
2855 ConditionVirtualization = uml
2856 ConditionVirtualization = vmware
2857 ConditionVirtualization = wsl
2858 ConditionVirtualization = xen
2859 ConditionVirtualization = zvm
2860 # using boolean
2861 ConditionVirtualization = true
2862 # using generic type
2863 ConditionVirtualization = container
2864 ConditionVirtualization = vm
2865 # private users
2866 ConditionVirtualization = private-users
2867 # negated
2868 ConditionVirtualization = !vmware
2869 ## invalid values
2870 ConditionVirtualization = invalid
2871 ConditionVirtualization = invalid vmware
2872 # multiple values
2873 ConditionVirtualization = xen vmware
2874 
2875 
2876 ###### weight
2877 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2878 # integer 1..10000
2879 IOWeight = 1
2880 IOWeight = 12
2881 IOWeight = 123
2882 IOWeight = 1234
2883 IOWeight = 1234
2884 IOWeight = 10000
2885 ## invalid values
2886 IOWeight = -1
2887 IOWeight = 0
2888 IOWeight = 10001
2889 IOWeight = 12345
2890 IOWeight = 12.3
2891 IOWeight = invalid
2892 # multiple values
2893 IOWeight = 1 10000
2894 
2895 
2896 ###### working directory
2897 <endfold id='1'></endfold id='1'><beginfold id='1'>[Service]</beginfold id='1'>
2898 WorkingDirectory = ~
2899 WorkingDirectory = - ~
2900 WorkingDirectory = %h
2901 WorkingDirectory = /some/absolute/path
2902 WorkingDirectory = -/some/absolute-path
2903 WorkingDirectory = - /some/absolute/path
2904 ## invalid values
2905 # using `-` without a path
2906 WorkingDirectory = -
2907 # multiple paths
2908 WorkingDirectory = ~ /some/absolute/path
2909 WorkingDirectory = /some/absolute/path ~
2910 WorkingDirectory = /some/absolute/path /some/other/path
2911 WorkingDirectory = - - /some/absolute/path