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