起動時にこのサービスが開始されないようにする方法

起動時にこのサービスが開始されないようにする方法

この質問は、起動時にサービスを削除する方法を尋ねているため、候補の候補とは異なります。

Seeed ReSpeaker Core v2.0板。 UARTインターフェイスを使用して、このボードが他のボードと通信できるようにしたいと思います。ただし、UARTポート/ dev / ttyS2はコンソールに接続されています。起動時に起動しないように無効にするマザーボードに接続されているサービスを識別しました。

userk@glutamate:~$ sudo systemctl status | grep ttyS2
           │ │ ├─[email protected]
           │ │ │ └─1078 /sbin/agetty --keep-baud 115200,38400,9600 ttyS2 vt220
               │ ├─1093 grep ttyS2

公式ページにはブートローダに関する情報はありません。もう一つ尋ねた質問彼らのフォーラムで。

編集0

サービスが静的に有効になっています。

userk@glutamate:~$ systemctl list-dependencies --reverse serial-getty@ttyS2
[email protected]
● └─getty.target
●   └─multi-user.target
●     └─graphical.target

停止して無効にすると、状況は大丈夫に見えます。

userk@glutamate:~$ sudo systemctl stop [email protected] 
userk@glutamate:~$ sudo systemctl disable [email protected] 
userk@glutamate:~$ sudo systemctl status | grep ttyS2
               │ ├─1135 grep ttyS2

しかし、システムを再起動すると再び現れました。

編集1

  • 私はDebian 9(拡張)を使用しています。 SeedStudioで作成した画像を使用しました。
  • このサービスに関して別の質問をしました。ここ。 @JdeBPが彼の答えで言ったように

これを駆動する基本的な構成項目は、ブートローダを介してコマンドラインからカーネルに提供されるコンソール設定です。起動するシリアルコンソールサービスをジェネレータに通知します。カーネルコンソール出力を送信する場所をカーネルに通知します。 /dev/console 出力を送信する場所をカーネルに通知します。シリアルデバイスをコンソールとして使用したくない場合は、調整が必要です。

編集2

見つかりません。[Eメール保護]/lib/systemd/system フォルダーにあります。使っています。grep -rl [email protected] /lib/systemd/system

答え1

次のような編集2、この答えは古いです。


このような構成を作成しないでください/lib/。あなた(または他の管理者)が誤って設定を作成したため、もはや複雑な問題が発生しないことを願っています。この場合は復元できます。

rm /lib/systemd/system/getty.target.wants/[email protected]

その後、再起動できます。 (または実行systemctl daemon-reload後、サービスが正しく無効になっていることを再確認してください。)

ファイルを削除する前に、パッケージが不要なリンクを提供していないことをもう一度確認できます。

dpkg-query -S /lib/systemd/system/getty.target.wants/[email protected]

実際にはシンボリックリンクです。

ls -l /lib/systemd/system/getty.target.wants/[email protected]

管理者が不適切に配置した他のファイルも確認できます。 Debianパッケージをインストールしcruftてくださいcruft -d "/lib/systemd/system"

答え2

0.紹介[Eメール保護]

$ sudo systemctl status [email protected][email protected] - Serial Getty on ttyS0
     Loaded: loaded (/lib/systemd/system/[email protected]; enabled-runtime; vendor preset: enabled)
     Active: active (running) since Wed 2022-06-08 02:20:07 CST; 2min 7s ago
       Docs: man:agetty(8)
             man:systemd-getty-generator(8)
             http://0pointer.de/blog/projects/serial-console.html
   Main PID: 420 (agetty)
      Tasks: 1 (limit: 4336)
        CPU: 12ms
     CGroup: /system.slice/system-serial\x2dgetty.slice/[email protected]
             └─420 /sbin/agetty -o -p -- \u --keep-baud 115200,57600,38400,9600 ttyS0 vt220

1. systemd-getty-generatorについて

man systemd-getty-generator
https://man.archlinux.org/man/systemd-getty-generator.8.en

これらはシステムが起動するたびに、ジェネレータ(およびアクティブな)インスタンスでconsole=解析されます。/proc/cmdline
serial-getty@[email protected]


2. 忘れられないことをやめなさい

A. systemd-getty-generator の無効化

sudo chmod -x /lib/systemd/system-generators/systemd-getty-generator

このポーターガイストをやめなさい。



または

B. ブートローダでカーネルコマンドラインを変更する

console=ttyS0何かを削除

cat /proc/cmdline確認する

関連情報