問題タブ [posix-api]
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.
c - セマフォが破棄されているかどうかを確認する方法と、そうでない場合は破棄する方法
私は3つのPOSIXを持っていますか?セマフォといくつかのエラー状態。セマフォはグローバルにアクセスできます。エラーが発生する前にそれらが破棄されたかどうか (または最初に初期化されたかどうか) を確認するにはどうすればよいですか?
c++ - popenを使用してシステムコマンドの出力を抽出する
システムコマンドの出力を抽出するために次のコードを使用しています。PATH変数に「pic」のパスを設定していません。コマンドの出力を保存したいの"which pic"
ですが、コンソールに表示したくありません。
これが私のコードです:
しかし、コンソールに次の出力が表示されます:
c - ディスクリプタでファイルの参照カウント値(使用しているファイルのカウンタ値)を取得しますか?
Linuxで、カーネル外のAPIを使って、ディスクリプタで指定したファイルの参照カウント値(ファイル使用カウンタ値)を取得することはできますか?
linux - メッセージキューのコンテンツはどこに保存されますか?
POSIXメッセージキューを使用しているときに、キューを作成していた名前でファイルシステム上にいくつかのファイルが作成されていることに気付きました。私の質問:
Q1。メッセージキューは、RAMではなくハードディスク上のメッセージをキューに入れますか?
Q2。もしそうなら、これはハードディスクを含むので、実装が非常に遅いのではないでしょうか?
編集:
私はこれを本TheLinuxProgramming Interfaceで読んだ:
Linuxでは、POSIXメッセージキューは仮想ファイルシステムのiノードとして実装され、メッセージキュー記述子とオープンメッセージキューの説明は、それぞれファイル記述子とオープンファイルの説明として実装されます。ただし、これらはSUSv3で必要とされない実装の詳細であり、他の一部のUNIX実装には当てはまりません。
VFSであっても、ハードディスクに保存されますよね?
この情報を念頭に置いて、誰かが2番目の質問に今コメントできますか?(および/または追加するものがある場合は最初のものも)
python - pty の下で実行しているプロセスのターミナル フォアグラウンド プロセス グループを設定するにはどうすればよいですか?
コマンドが失敗したときにretry.pyと呼ばれるコマンドを繰り返すための単純なラッパー スクリプトを作成しました。ただし、子コマンドの出力を見たいので、いくつかの pty トリックをプルする必要がありました。これは rsync などのプログラムでは問題なく機能しますが、scp などの他のプログラムでは、進行状況メーターなどを表示するために追加のテストが適用されます。
scp コードには、大まかに次のようなテストがあります。
ラッパースクリプトを実行すると失敗します。私の単純な tty_test.c テスト ケースでわかるように:
と:
pty fd の IOCTL として終了する tcsetpgrp() を使用しようとしましたが、pty の -EINVAL が発生します。可能であれば Python サブプロセス機構を使い続けたいですか、それとも手動で fork/execve'ing する必要がありますか?
c - Unix から Windows への移植 - pwd.h の使用
MinGW でlibUnihanコードをコンパイルしようとしていますが、移植が必要な関数に遭遇しました。この関数の目的は、正規のパス表現を取得することです。これはpwd.h
(POSIX であり、MinGW はそうではありません) を使用するため、「~」を使用してホーム ディレクトリを意味することができpasswd
ますpw_dir
。hereとrealpath
hereのポートを少し見つけましたが、これに対処する方法についてはまだ完全に途方に暮れています。MinGW では、 で表され~
、 にあるホーム ディレクトリがまだあります/home/nate
が、これは POSIX ではないpwd.h
ため、このホーム ディレクトリがどこにあるかを見つけるのを手伝う必要はありません。
Q: MinGW で適切に動作するように以下の関数を移植するにはどうすればよいですか?
linux - SIGKILL シグナル処理
Linux プロセスが I/O を待機している場合 (つまり、SLEEP
状態にある場合)、SIGKILL
それに対してシグナルが発行された場合、終了時 (STOPPED
状態) にそれは通過しますか、RUNNING
それともREADY
状態になりますか?
言い換えれば、プロセスが生成されたようなシステム割り込みを処理するにSIGKILL
は、パススルーRUNNING
またはREADY
状態が必要ですか?
通常の状況では、プロセスはカーネルからの割り込みを処理できることを知ってSIGKILL
いて、応答しないシグナルを殺すという非常に矛盾した目的があることを知っていたので、もし殺されているプロセスにどれだけの制御が与えられているかについて、私は疑問を持っていました。