web-dev-qa-db-ja.com

プロセスを開始したサービスを確認して、そのサービスを無効にするにはどうすればよいですか?

プロセスを関連するサービスにリンクし、それを永続的に無効にするにはどうすればよいですか?

知っている

ps aux | less 

プロセス名とポートを提供しますが、必要に応じて起動時に無効にして、ファイルの場所とアンインストールが必要かどうかを確認できるように、関連するサービス(およびファイルの場所)を取得します。

4
user637251

Ubuntu 16.04以降(systemdをinitとして使用)では、systemctl status <PID>(このUnixおよびLinuxの投稿から) を使用できます。

サービスプロセスの場合:

$ systemctl status 561
● sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-01-04 15:38:01 JST; 7h ago
 Main PID: 561 (sshd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/sshd.service
           └─561 /usr/bin/sshd -D

他のことについては、おそらくユーザーセッションのスコープ内にあります。

$ systemctl status $(pgrep chrome -n)
● session-c2.scope - Session c2 of user muru
   Loaded: loaded (/run/systemd/transient/session-c2.scope; transient; vendor preset: disabled)
Transient: yes
   Active: active (running) since Wed 2017-01-04 15:46:30 JST; 7h ago
    Tasks: 422
   CGroup: /user.slice/user-1000.slice/session-c2.scope

そのU&L投稿の別の答えには、より簡単なコマンドがあります。

ps -o unit -p <PID>

比較する:

$ ps -o pid,unit -p $(pgrep chrome -n) 561 
  PID UNIT
  320 session-c2.scope
  561 sshd.service
7
muru