問題タブ [systemd]
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.
bash - systemdブート中にstdinにアクセスする
コンピューターの起動中にユーザーからの数値入力を求めるスクリプトがあります。コンピューターはFedora16を実行しています。Fedora13で作業を使用しましたが、アップグレード後
ユーザー入力をキャッチせずに、すぐに戻ります。私は試した
しかし(予想通り)それもうまくいきません。スクリプトはsystemdサービスファイルから実行されます(以下のコメントを参照)。これはrootとして実行する必要があり、ユーザーがログインする前に開始する必要があります。現在、インタープリターとしてbashを呼び出していますが、多少の努力を払えば変更される可能性があります。誰かがこのスクリプトを通常に戻すのを手伝ってもらえますか?
追加のクレジット:F13では、(必要に応じて)ユーザー入力の起動を停止していましたが、ユーザーが入力したときに入力が表示されませんでした。この機能を追加する方法はありますか?
linux - root以外のユーザーからのユニット(コマンドstart / stop / enable / disableの場合)
systemd
root以外のユーザー(例)から(OSはFedora Core 16)を介して、起動時にスクリプトを実行したいmichael
。
root権限は必要ありません-ブート時とシャットダウン時にのみ、の一部のユニットを実行したいと思いますsystemd
。root
そして、私はこれのためにユーザーをオンにしたくありません。ユニットの構文の力を使用systemd
して、プロセスを開始および監視するだけです(もちろん、rootアクセスは必要ありません)。出来ますか?
ドキュメントにヘルプが見つかりませんでした。私はでのみ見つけましたsystemd(1) -> DIRECTORIES -> "User unit directories"
:
しかし、それ/usr/lib/systemd/user
は:
drwxr-xr-x。2ルートルート
このディレクトリをroot以外のユーザーとして使用する方法を想像することはできません...
perl - モジョリシャスなビルトイン Web サーバー デーモンをリロードする方法は?
systemd
service
このファイルを からコピーし、モジョリシャスなビルトイン サーバー デーモンを起動するlighttpd-package
ように変更しました。mojolicious デーモンのと の設定systemd
を維持できますか?ExecReload
KillSignal
networking - How can I turn either a Unix POSIX file descriptor or standard input Handle into a Socket?
In inetd and systemd type systems, it is possible for the system to bind a socket and launch the application with the socket already existing, for example to provide socket based service starting. I would like to take advantage of this functionality in one of my Haskell daemons.
The daemon currently calls, socket
, bindSocket
, listen
to create a Socket
object that I can later call accept
on. To change this to an inetd
type system I would need to use standard input as a Socket
, but all I can find so far is stdin :: Handle
, or fdToHandle :: CInt -> Handle
- neither are quite what I need.
I can't seem to find anything that has type Handle -> Socket
, nor anything that is like stdin :: Socket
. The nearest I can find is mkSocket
which is very low-level, and most other languages (ie, Ruby) provide a call to turn a file descriptor into a socket without having to specify various other parameters.
python - Pythonデーモンとsystemdサービス
デーモンとして機能する単純なPythonスクリプトがあります。起動時にこのスクリプトを開始できるようにsystemdスクリプトを作成しようとしています。
現在のsystemdスクリプト:
node.py:
run
while True
ループが含まれています。
このサービスをで実行しようとしていますsystemctl start zebra-node.service
。残念ながら、サービスはシーケンスの記述を終了しませんでした-Ctrl+Cを押す必要があります。スクリプトは実行されていますが、ステータスはアクティブ化されており、しばらくすると非アクティブ化に変わります。現在、私はpython-daemonを使用しています(ただし、それなしで試す前は、症状は似ていました)。
スクリプトにいくつかの追加機能を実装する必要がありますか、それともsystemdファイルが正しくありませんか?
qt - systemdで自動起動されたQtGUIインスタンスが入力に応答しない
起動プロセスにsystemdを使用する組み込みLinuxボードがあります。また、Qtで記述されたGUIがあり、コマンドラインから問題なく起動し、ボードのタッチスクリーンまたはボタンを使用して対話できます。私が通常行うアプリを起動するには:
SystemDを使用してこれを自動的に起動したいので、次のようなサービスファイルを作成しました。
ボードが起動すると、systemdログに、dropbearSSHサービスの直後にGUIが開始されていることがわかります。
また、起動後にボードにSSHで接続し、「ps」を実行すると、プロセスが開始されたことがわかります(また、ボードを強制終了すると、systemdから期待どおりに再起動します)。
systemctl statusの出力は、私には問題ないように見えます。最後の行'ARM build'は、私のコードからのqDebug()printステートメントであることに注意してください。
ただし、systemdを使用して起動されているGUIのインスタンスとはまったく対話できません。コマンドラインからセカンダリインスタンスを起動すると、ボタンまたはタッチスクリーンを押すことができ、GUIが画面にポップアップ表示され、期待どおりに機能します。何が得られますか?サービスファイルで「Type=forking」を試しましたが、これも役に立ちません。ここで何が悪いのかについてのアイデアはありますか?コマンドラインから実行した場合と同じように、systemdでQt GUIを起動するにはどうすればよいですか?ありがとう -
unix - C / C ++アプリケーションからsystemdサービスを開始するか、D-Busサービスを呼び出します
起動時に開始したくないプロセスの.serviceがありますが、特定の時間に、すでに実行中の別のアプリケーションから何らかの方法で呼び出します。
もう1つのオプションは、D-Bus(アプリでglib dbusを使用しています)サービスファイルを/ usr / share / dbus-1 / servicesに配置し、アプリケーションから呼び出すことです。また、私もこれを行うことができません。
からの私のdbusサービスファイルとから
の私のメインサービスファイル/usr/share/dbus-1/services
があるとしましょうcom.callThis.service
/lib/systemd/system is com.startThis.service
コマンドラインから簡単なイントロスペクトを実行する場合:
D-Busサービスファイルが呼び出され、Exec(com.starThis)にあるものが開始されます。問題は、D-Busglibを使用してC/C++コードからこれを実現したいということです。
linux - ConsoleKit または systemd を介してログイン ユーザーに D-Bus アクセスを制限する
ConsoleKit または systemd を介して、D-Bus サービスのクライアントをローカルでシステムにログインしているユーザーのみに制限する必要があります。そのためには、D-Bus サービスをどのように構成または作成する必要がありますか?
virtualbox - Virtualbox ヘッドレス: systemd 経由で起動しない
すでにこのトピックを試しましたが、解決しません
次の内容の vbox.service というファイルを /lib/systemd/system/vbox.service の下に配置しました。
と を介して開始および停止する
sudo systemctl start vbox
とsudo systemctl stop vbox
、すべて正常に動作します 次に、次のように入力しました:
sudo systemctl enable vbox
、しかし、起動時に開始されません 出力は次のとおりです
/usr/bin/VBoxHeadless --startvm 4decf7c1-7eda-461c-92aa-835d2405a22e は問題なく動作します
linux - Linux の systemd を使用した起動スクリプト
できることはありますか 以下のこのスタートアップ サービスを実行すると、エラーは表示されませんが、以下のサーバー スクリプトは実行されません。
ありがとう
水族館.サービス:
ここにserver.shスクリプトがあります