問題タブ [systemctl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
673 参照

unix - Systemctl の [RequiredBy] ディレクティブの目的

サービス ユニット ファイルの [Unit] 部分に [Requires] ディレクティブがある場合、なぜサービス ユニット ファイルの [Install] セクションにも [RequiredBy] ディレクティブが必要なのか..[インストール]部分は、サービスが有効になっているときに実行されます(サービスはサーバーの再起動後に再起動する必要があります)ので、[RequiredBy]ディレクティブを指定しなくても、サーバーの再起動後もsystemctlは[Requires]ディレクティブをチェックします必要なサービス/ターゲットユニットを開始します...これを明確にしてください、私はSystemctlユーティリティの初心者です。

0 投票する
1 に答える
346 参照

linux - Service が Systemctl で実行されていない場合、ExecStopPost が実行されない

問題は、サービスが実行されておらず、stop service コマンドを実行しようとしたことです。そのため、systemctl stop $servicename.service を使用してサービスを停止しようとすると、サービスが実行されていないため、ExecStop コマンドが実行されないため、ExecStopPost も実行されません。サービスが実行されておらず、stop service コマンドを実行しようとしています。

0 投票する
2 に答える
15909 参照

redhat - systemd `systemctl stop` は積極的にサブプロセスを強制終了します

私は、2 つのサブプロセスを開始するデーモンのようなプロセスを持っています (そして、サブプロセスの 1 つが他の 10 までのサブプロセスを開始します)。プロセスをsystemctl stop実行すると、子サブプロセスが「積極的に」強制終了されたように見えます。これによりsystemctl、プロセスがクリーンアップされる機会がありません。

systemctl stopアグレッシブなキルをやめて、プロセスが整然としたクリーンアップを調整できるようにするにはどうすればよいですか?

timeoutSec=30私は無駄にしようとした。

0 投票する
5 に答える
29187 参照

ansible - ansible:centos 7でauditdサービスを再起動する方法は、依存関係に関するエラーを取得します

私のプレイブックでは、audit.rules を更新し、auditd サービスを再起動する必要があるハンドラーに通知するタスクがあります。

Playbook が実行されると、監査ルールが更新され、auditd の再起動が要求されますが、これは以下のように失敗します。

auditd のユニット定義を見ると、rejectManualStop=yes と表示されます。これがサービスを再起動できない理由ですか? これをどのように乗り越えて、新しい監査ルールを取得しますか?

0 投票する
0 に答える
132 参照

sbt - SBT パッケージャーによって生成された起動スクリプトが機能しない

Pure-Java プラグインを使用して Debian パッケージを作成する SBT プロジェクトがあります。プラグインは plugins.sbt で次のように定義されています。

SBT コンソールで、次のコマンドを実行します。

これにより、Ubuntuマシンにインストールしようとしている.debファイルが生成されますdpkg -i <filename>

パッケージがインストールされます。ライブラリや構成などは /usr/share/ に配置されていますが、これは私が期待していたものです。そのフォルダーには、プログラムを直接起動するスクリプトを含む bin フォルダーも含まれています。ここまでは順調ですね。

ただし、 を使用してプログラムを起動したいのですがservice start <projectname>、動作しません。についても同様です/etc/init.d/<projectname> start。後者のコマンドの出力は次のとおりです。

しかし、で確認すると、プロセスが実行されていませんps。/etc/init.d/<projectname> の内容は次のとおりです。

簡単なデバッグを行ったところ、コマンド ライン引数が「start」の場合、スクリプトが 2 番目のソース ステートメントを通過しないことがわかりました。source /lib/lsb/init-functions

Systemctl から次の出力が得られます。

<projectname>.service loaded active exited LSB: <projectname>

を使用してスクリプトも実行しましたbash -xが、読み方がわからないかなりの出力が生成されます。

ここで何が起こっているか知っている人はいますか?パッケージャーを使用してパッケージとしてインストールすることの全体的なポイントは、これらのような頭痛を避けることです...

0 投票する
1 に答える
3672 参照

service - systemctl enable は機能しますが、systemctl --user enable は機能しません

Ubuntu 16.04.1x64 を実行している DO ドロップレットがあり、IPFSを systemd サービスとして実行しようとしています。先に進んで、ユーザー「connor」を作成し、ここの手順に従って IPFS をインストールしました。サービスを「ipfs.service」として ~/.config/systemd/user/ipfs.service に保存しています。これは次のようになります。

奇妙なのは、systemctl --user start ipfsを実行すると問題なく起動することです。ただし、systemctl --user daemon-reloadを 実行してからsystemctl --user enable ipfsを実行すると、次のエラーが表示されます。

操作の実行に失敗しました: そのようなファイルまたはディレクトリはありません

ただし、systemctl enable /home/connor/.config/systemd/user/ipfs.service -fを実行すると、問題なく動作します。再起動して IPFS コマンドを問題なく実行できます。ユーザーとして実行したいのですが、何が間違っているのかを理解したいと思います。

0 投票する
0 に答える
392 参照

squid - systemctl でイカを起動する

ブロードバンド リンクに接続されたシステム (debian) があります。リンクから DHCP アドレスを収集します。これは、DNS にアクセスする方法です。

システムには、いくつかのリクエストを処理する squid (3) も含まれています。

再起動するまで、すべてが完全に機能します。その後、squid は正しく起動しません。squid を再起動すると問題が解決します。

その理由は、DNS が設定される前に squid の起動が早すぎることが原因のようです (ただし、リクエストを受信すると DNS が設定されます)。

network-online.target を待つために systemctl を使用して squid を遅らせてみましたが、それでも早すぎます。

これを解決するために systemctl/etc を使用する方法のアイデア/ヒントを誰かが持っていますか?

dns-is-available.target または delay-30-seconds-after-network-online.target のいずれかが必要だと思います...またはいくつかの賢い考え。

モナサン