我创建了一个/etc/rc.local:
$ cat /etc/rc.local
#!/bin/bash
echo "Starting"
randomString=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`
echo "Finished"
Run Code Online (Sandbox Code Playgroud)
这在交互式运行时运行:
$ /etc/rc.local
Starting
Finished: lkFcvByNaIu7zmxuCYB3BQmJ05LwuVWL
Run Code Online (Sandbox Code Playgroud)
但是,当从 systemd 运行时,它会挂起并且不会返回。
如果我 ctrl+C 看起来它挂在fold命令上:
$ systemctl status rc-local
? rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; enabled-runtime; vendor preset: enabl
Drop-In: /lib/systemd/system/rc-local.service.d
??debian.conf
Active: activating (start) since Mon 2019-03-11 12:04:06 UTC; 12s ago
Docs: man:systemd-rc-local-generator(8)
Cntrl PID: 936 (rc.local)
Tasks: 5 (limit: 1152)
CGroup: /system.slice/rc-local.service …Run Code Online (Sandbox Code Playgroud)