我正在尝试使用/usr/lib/systemd/systemd
在 SuSE 容器中启动systemd
,然后调用另一个函数,例如在 docker-compose 或 docker 中调用echo "Hi"
函数。这就是理论上/bin/bash -c "/usr/lib/systemd/systemd && echo 'Hi'"
会做的事情,但有一个大问题是systemd
没有启动,因为 bash 进程有PID1
,systemd
有PID2
导致错误消息systemd
无法从用户土地启动。
我在Yelp的dumb-init
上取得了部分成功(因为它接受参数来运行自己),但更喜欢完整的systemd。此外,拥有一个简单的 oneliner 而不是必须调用脚本会很好(如果这是一个解决方案,因为这也可能导致 bash-process 具有PID1
)。
目前还不清楚为什么启动systemd。您想使用systemd
的哪个功能?
如果只是想在 systemd 启动后运行一些东西,那么编写一个简单的 systemd.service
文件是要走的路。
有关 systemd 配置文件的更多信息,请参阅man systemd.service
和man systemd.unit
。