使用 systemd 启动 bash shell 并将其附加到当前终端

使用 systemd 启动 bash shell 并将其附加到当前终端

我想做的是让 systemd 启动 bash shell 并将其连接到我当前的终端。目标是检查 systemd 如何控制为其启动的进程创建的环境以及创建什么类型的环境。我认为启动 bash shell 会向我显示这些信息,但我只是不确定如何做到这一点并将 shell 连接到我当前使用的终端。所有这些测试都在虚拟机中进行,因此目前环境不存在任何安全问题。任何建议将不胜感激。

答案1

我不确定是否可以使用 systemd 将 bash 连接到当前终端。实际上,我不太确定我是否详细理解了这个问题。

但要获取有关环境的信息非常容易,有几种方法。

一种是查看已运行进程的环境变量的一般方法。/proc与进程的进程 id 一起使用(self与 processid 交换):

cat /proc/self/environ | sort -z | xargs -n 1 -0

另一种方法是编写一个小的 bash 脚本,将执行环境写入文件。将其添加到 systemd 并启动它。

#!/bin/bash
env > /tmp/testenvironment

启动systemd后你会发现环境在/tmp/testenvironment

相关内容