systemd を使用して bash シェルを起動し、現在の端末に接続します。

systemd を使用して bash シェルを起動し、現在の端末に接続します。

私がしたいのは、bashシェルを起動して現在の端末に接続することです。目的は、systemdが起動するプロセスに対して生成された環境をどのように制御し、どのような種類の環境を生成するかを調べることです。 Bashシェルを起動すると、この情報が表示されると思いましたが、どのようにして、現在使用している端末にシェルを接続するのかわかりません。これらのテストはすべて仮想マシンで実行されるため、現在の環境にセキュリティ上の問題はありません。どんなアドバイスも本当にありがとうございます。

答え1

systemdを使用してbashを現在の端末に接続できるかどうかはわかりません。実際、私は問題を詳しく理解しているかどうかわかりません。

しかし、環境に関する情報を取得するのは非常に簡単で、いくつかの方法があります。

1つは、実行中のプロセスの環境変数を調べる一般的なアプローチです。/procプロセスのプロセスIDと共に使用されます(selfprocessidと置き換えます)。

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

別のアプローチは、実行環境をファイルに書き込む小さなbashスクリプトを書くことです。 systemdに追加して起動します。

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

systemdを起動すると、環境は次のようになります。/tmp/testenvironment

関連情報