問題タブ [sysv]
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.
linux - Linuxでは、XSI / System-V IPCメカニズムは時代遅れですか?
LinuxでPOSIXIPCメカニズムを利用できるため、XSI / System V IPCは古くなっていますか?
新しいプログラムにはどのようなIPC(Sysv / Posix / other)が推奨されますか?
linux - Linuxファイルコマンド:SYSVは何を意味しますか?
私は2つのレガシークロスコンパイルされたARMLinuxビルドを掘り下げています。「このVMイメージを使用してソースを構築する」以外のドキュメントはあまりありません。fileコマンドの出力の唯一の違いは、「(SYSV)」の存在です。
文字列内のSYSVの有無に基づいて何を想定できますか?
linux - Linux で posix メッセージ キューを使用する単一の送信側プロセスと複数の受信側プロセス
を使用してメッセージをメッセージ キューに送信した後にライター プロセスがmq_send()
、複数のリーダー プロセスが を使用してメッセージを読み取る方法はありますかmq_receive()
。mq
への 1 回の書き込みとからの 1 回の読み取りが予想さmq
れますが、メッセージは失われます。
だから、私の理解が間違っているかどうか知りたいだけです。1 つのライター プロセスと複数のリーダー プロセスが posix メッセージ キューを使用して通信できるようにする方法はありますか。
c - sysv共有メモリ、自動的に破棄されますか?
そうしないと、Unix で割り当てられた共有メモリは自動的に破棄されますか?
たとえば、あるプロセスがそのセグメントを作成し、別のプロセスがそれを使用します。なんらかの理由で両方ともクラッシュしましたが、そのセグメントがメモリ リークの原因でしたか?
bash - Puppet init スクリプトは pid ファイルを作成しませんか?
- CentOS リリース 5.4 (最終版)
puppet-server-2.7.19-1.el5
puppetlabs リポジトリからインストールされます。
puppetmaster
は正常に開始されますが、pid ファイルは作成されません。[ FAILED ]
停止時のメッセージの理由は次のとおりです。
初期化スクリプト: http://fpaste.org/nsfI/
/etc/rc.d/init.d/functions
ライブラリ: http://fpaste.org/ox5Q/
そして、これはデバッグモードで実行したときに得られるものです: http://fpaste.org/DkoS/
起動後に手動でファイルに pid する方法は知っていますが、関数echo
が機能しないのはなぜですか?daemon
--pidfile
daemon $PUPPETMASTER $PUPPETMASTER_OPTS --masterport=${PUPPETMASTER_PORTS[$i]} --pidfile=/var/run/puppet/puppetmaster.${PUPPETMASTER_PORTS[$i]}.pid
確かに、Puppet マスターはpuppet
ユーザーとして実行されています。
/var/run/puppet/
フォルダの所有者は次のpuppet
とおりです。
c - 複数のプロセスで使用されている SYS V セマフォを正しく削除する
SYS V セマフォを使用しなければならないプロジェクトがあります。セマフォを(同じキーを使用して)共有し、次のコードで初期化するプロセスがいくつかあります。
私の問題は、このセマフォを使用しているすべてのプロセスが終了するときに、このセマフォを削除したいということです。使用:
オプションではありません。セマフォを即座に削除し、他のプロセスは未定義の動作をしました。SYS V API でそれを行う正しい方法が見つかりません。
linux - System V msg_send が SIGKILL によって中断される
私はそのように動作するマルチプロセスアプリケーションを持っています...
親プロセスがあります。親プロセスはデータベースにクエリを実行して作業を見つけ、その作業を処理するために子プロセスをフォークします。子は、System V メッセージ キューを介して親に通信し、作業が完了したことを示します。親プロセスがそのメッセージを受け取ると、データベースを更新して作業が完了したことを示します。
これは問題なく動作しますが、親プロセスが強制終了されるのを処理するのに苦労しています。
親が (CTRL-C から) SIGINT を受け取り、次にそれぞれの子に SIGKILL を送信します。子がそのシグナルを受信したときに現在 Sys V メッセージ キューの書き込みをブロックしている場合、書き込みはシグナルによって「中断」され、ブロックはキャンセルされ、親は子の作業が完了したことを知ることはなく、データベースが更新されることもありません。 .
これは、次にスクリプトを実行するときに、System V キューの書き込みでブロックされていたすべての作業を再実行することを意味します。
これを解決する良いアイデアはまだありません。理想的には、その SIGKILL を受信した場合でも、キューの書き込みを強制的にブロックしたままにできるようにしたいと考えていますが、そのようなことは可能ではないと思います。
fedora - Fedora 18 で SysV init スクリプトを使用しています。ネットワークの準備が整った後に開始するにはどうすればよいですか?
Fedora 18 に SysV init スクリプトがあります。Fedora 18 は systemd を使用します (明らかに、SysV に戻す方法はありません)。
私のスクリプトでは、ネットワークの準備が整っている必要があります。現在、スクリプトの実行時には、ネットワークの準備ができていません。ネットワークの起動後に SysV init スクリプトが確実に実行されるようにするにはどうすればよいですか?
私のスクリプトの冒頭は次のようになります。