問題タブ [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.

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

java - 既存の Java アプリケーションを SYS V サービス (デーモン) に変換する方法

私はJavaアプリケーションを持っています。それを起動するために使用します

java -jar myapp.jar

停止するには、CTRL + C を使用します。

次に、そのアプリケーションを開始できるものに変換する必要があります。

/etc/init.d/myapp スタート

そして、私はやめることができます:

/etc/init.d/myapp停止

問題は、プロセスの PID を保存することです。これを行うためのレシピをどこかで見たと思いますが、場所を覚えておらず、見つけることができません。

Java Server Wrapperというプロジェクトがあるのを見ましたが、メモリ使用量を制限しない無料のものを探しています。そして、この作業は 1 つの bash スクリプトで実行できると思います。

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

python - init.dのバックグラウンドでPythonスクリプトを実行する

iPhoneとやり取りするには、ソケットを介してデータを送受信するPythonスクリプトを作成しました。動作するには、エミュールの後にスクリプトを開始する必要があります。次のようなことを考えました。

その後

大きな問題は、私が&signを指定したにもかかわらず、プロセスをバックグラウンドで実行したくないということです:(何かアイデア??

ありがとう!

0 投票する
4 に答える
12526 参照

python - PythonのSystemV共有メモリ?

Pythonからの、、、呼び出しをどのshmat()ように利用できますか?それらは標準ライブラリのどこかに隠されていますか?shmdt()shmctl()shmget()

Update0

私は、UbuntuリポジトリまたはPython標準ライブラリ(現在または将来のリリース)にあるSystemVバインディングを求めています。

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

c - Cでメモリの場所を共有メモリに変更する方法はありますか?

cでできること

最初に与えられた空きメモリ領域を共有メモリとして割り当てます。

現在のメモリ空間を共有メモリとして割り当てる方法はありますか?

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

message-queue - System V Message Queue - 時間指定受信

POSIX MQのような「時限受信」機能を持たないSystem V Message Queueを使用しています。しかし今、私はそれを必要としています(この時限受信機能)。

「では、Sys V の代わりに POSIX を使用しないのはなぜですか?」と尋ねることができます。私のベンチマークでは、SysV MQ は POSIX MQ より +-20% 高速だったからです。

今質問です。Sys V MQ の「時限受信」を偽装するには?

でループして でテストmsgrcvするコードを書きました。私はそれが醜いと思うので、美しいものを書くためのアイデアが必要です =]IPC_NOWAITusleep

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

linux - System V IPC msgrcv with timer Howto

msgrcvブロッキング モードで関数が呼び出されるSystem V メッセージ キューを使用しています。ブロッキングmsgrcv関数にタイマーを実装して、タイマーが期限切れになり、メッセージを受信して​​いない場合に、ブロックを解除msgrcvして実行を継続できるようにします。

プログラミングによってこれを達成する方法について何か提案はありますか?

0 投票する
4 に答える
54490 参照

posix - System V IPC と POSIX IPC の比較

  1. System V IPCとはどう違いPOSIX IPCますか?
  2. なぜ 2 つの基準があるのですか?
  3. どの IPC 関数を使用するかを決定する方法は?
0 投票する
3 に答える
403 参照

unix - System v Semaphores のセットが本当に必要なのはどこでしょうか?

の説明を読むたびにsemget: The semget() system call returns the semaphore set identifier associated with the argument key.、本当に System V セマフォのセットがどこに必要なのか疑問に思います。

ほとんどの場合、単一のセマフォが必要なため、常にnsemsパラメーターを asに指定します。1バイナリ セマフォが必要ない場合でも、なぜ 5 ~ 6 個のセマフォのセットを作成するのでしょうか (たとえば)。

また、あるプロセスが 1 つのキーに関連付けられた 6 つのセマフォのセットを作成し、別のプロセスが同じキーに対して 3 つのセマフォのみを要求して semget を実行しようとした場合はどうなるでしょうか。また、6 つのセマフォすべてが 6 つの個別のバイナリ セマフォであるとは限りません。私はのどが渇いていて、この質問に対する答えを 2 か月間探しています (もちろん継続的ではありません)。

この質問が最もばかげているように思われる場合は申し訳ありませんが、セマフォのセットの実際の使用例を取得しない限り、この疑問は私の心に残ります。誰かがセマフォのセットを使用している C コードの例を検索しようとしましたが、見つかりませんでした。

あなたがこれについて私を助けることができれば、私はあなたたちに本当に本当に感謝しています. よろしくお願いします。

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

perl - IPC :: SysV-> shmgetがEINVALで応答するのはなぜですか?

私は現在サーバー上でperl5.8.8を実行しており、5.14をインストールしようとしています。

usethreadsとuse64bitintを使用するように構成しましたが、それ以外の場合は、提案されたデフォルトを使用します。

makeは問題なく実行されましたが、makeテストは失敗しています。

したがって:

これらのテストは両方とも「無効な引数」を報告していますが、ソースを見ると、無効に見えるものは何も見つかりません。どうすればいいのかよくわかりません...何かポインタはありますか?

アップデート

走った

2つのサーバー上:1つはこれらの問題を抱えており、もう1つはそうではありません。

たくさんの出力がありましたが、興味深いと思われるのはこれです:

良い:

悪い:

したがって、両方のサーバーで同じことが起こっているように見えます。一方のサーバーでは、shmget(IPC_PRIVATE、8、0700)=7438344と表示されます。

そして他の、私は見る

IPC :: SysVのバージョンは両方のサーバーで同じです...しかし、これは関係がなく、問題はシステムコールを行うコードにあるように見えます...そうですか?

次は何?

**アップデート2**

グーグルした後、私は以下を実行しました:

良い:

悪い:

だから、それはEINVALを説明しています、なぜなら(manページから)

EINVAL

新しいセグメントが作成され、サイズ<SHMMINまたはサイズ> SHMMAXであるか、新しいセグメントが作成されなかった場合、指定されたキーを持つセグメントが存在しましたが、サイズはそのセグメントのサイズよりも大きくなっています。

さて、私の質問は、これがゼロに設定される可能性がある理由はありますか?

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

ruby-on-rails - Ruby バックグラウンド プロセスの STDOUT が空です

シェルの「デーモン」機能を使用して Sinatra スクリプトを実行するスタートアップ スクリプトで奇妙な問題が発生しています。問題は、コマンド ラインでコマンドを実行すると、出力が STDOUT に出力されることです。コマンド ラインでスクリプトとまったく同じようにコマンドを実行すると (デーモン部分を除いて)、出力は出力ファイルに正しくリダイレ​​クトされます。ただし、スタートアップ スクリプトを実行すると (以下を参照)、STDERR ログには記録されますが、STDOUT ログには記録されません。

スクリプトの関連行:

さて、ファンキーな部分:

  • エラー ログは、STDERR のリダイレクトを介して正しく書き込まれます。
  • >> と 2>> の順序を逆にしても (ここではストローをつかんでいます!)、動作は変わりません。それでも、STDERR は正しくログに記録され、STDOUT は空になります。
  • 出力ログが存在しない場合、STDOUT リダイレクトによってファイルが作成されます。ただし、ファイルの長さは 0 のままです。
  • これは以前は機能していました。ログ ディレクトリは、log-rotate によって維持されます。最新の「出力」ログはすべて、長さが 0 です。古いものはそうではありません。4月頃から活動を休止しているようです。Ruby のコードは、その頃にはまったく変更されていませんでした。起動スクリプトも同様です。

このように 3 つの異なるサービスを実行しています。そのうちの 2 つは Ruby デーモン (1 つは Sinatra を使用し、1 つは使用しない) で、もう 1 つはバックグラウンド Java プロセスです。これは両方の Ruby プロセスで発生していますが、Java プロセスでは発生していません。Rubyで何かが変わったのでしょうか?

FTR、ruby 1.8.5 と RHEL 5.4 があります。


さらにいろいろ調べてみました。このdaemon関数は多くのことを行いますが、問題の要点は、 を使用してプログラムを実行することrunuserです。コマンドは基本的に次のようになります。

コマンドラインでそれを正確に実行すると(ラインのどこかに追加されたシングルティックの有無にかかわらず)、出力ログに関してまったく同じ厄介な動作が発生します。runuserだから、これはルビー(?)がどう相互作用するかの問題だと私には思えます。