postgresがsystemdによって起動される理由を確認して停止する方法は?

postgresがsystemdによって起動される理由を確認して停止する方法は?

/proc/PID ディレクトリを確認しました。
私が直接起動しない場合は、postgresのようなサービスが起動しないようにしたいと思います。
だからpostgresが始まった理由を知りたいです。sudo lsof -i以前に実行したことがなく、直接起動していない場合でも、実行していることがわかります。

私はDebian10を実行しており、2日前にいくつかのpostgresアップデートをインストールしました。 lsof -iを使用して同じ日に実行中のプロセスを確認しましたが、Apperの履歴には日付/時刻が表示されないため(bash履歴も表示されません)、更新前になる可能性があるため、更新後にpostgresが自動的に開始される可能性があります。アップデート後に自動的に実行されると、これを防止できる方法を知りたいのですが、それは別個の問題かもしれません。

複数のpostgresプロセスがあります。それぞれに親プロセスとして別のpostgresプロセスがあります。親PIDは1であり、システム化されています。実行すると、rkhunter -c疑わしいファイル形式について警告します。/dev/shm/PostgreSQL.{long-number}

答え1

Postgresを起動した理由を見つけるには、以下を追跡します。親プロセス戻る。プロセスがPID 1で終了し、そのプロセスがシステムにシステム化されていることがわかったので、systemdにそのデバイスのステータスを知らせるように依頼してから、プロセスを見つけます。 grepを使用してプロセス名を見つけることができます。

$ systemctl status | grep -B3 'postgres'

3つの行は、担当ユニットが見つからない場合は見つかるまで増やします。

PIDがある場合

$ systemctl status 1024  ## example PID

その後、このコマンドはsystemdに、プロセスが属するデバイスの状態(および名前)を知らせるように要求します。

システムデバイスの名前がわかったら、次のコマンドを実行してシステムデバイスが起動しないようにすることができます。

# systemctl mask --now unit-name-here

...この--nowオプションはデバイスをすぐに停止することもあります。

関連情報