問題タブ [posix]
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.
windows - Windows 用の Unix サブシステム
Windows Vista Enterprise および Ultimate の箇条書き機能の 1 つは、Windows 用の Unix サブシステムです。とにかく、私はそれについて話しているリーグから外れています.この機能を使用している人はいますか?それとも説明...
Unix プログラミングについてはほとんど何も知りません。
c - sigprocmask() の Set と Oldset
の使い方がよくわかりませんsigprocmask()
。特に、set
andoldset
とその構文がどのように機能し、どのように使用するかについて説明します。
例を挙げて説明してください。ブロックするには、SIGUSR1 を数秒間言ってから、ブロックを解除して処理します。
python - 共有マルチプラットフォーム POSIX 環境での C の使用
共有ワークスペースで使用されるツールを作成します。この分野では複数の OS が動作しているため、通常は Python を使用し、複数のマシンにインストールされるバージョンを標準化しています。ただし、C で何かを書きたい場合は、アプリケーションを Python スクリプトにラップして、オペレーティング システムを検出し、C アプリケーションの正しいバージョンを起動することができないかと考えていました。各プラットフォームには GCC があり、同じシェルを使用します。
1 つのアイデアは、C をユーザーのローカル ~/bin にコンパイルし、タイムスタンプを C コードと比較して実行するたびにコンパイルするのではなく、コードが更新されたときにのみコンパイルすることでした。もう 1 つの方法は、プラットフォームごとにコンパイルして、ラッパー スクリプトに適切な実行可能ファイルを選択させることでした。
これに対して受け入れられた/安定したプロセスはありますか? キャッチはありますか?代替手段はありますか (ネイティブ C コードを使用することが絶対に必要であると仮定して)?
明確化: ABI を共有しない複数の OS が関係しています。例えば。OS X、さまざまな Linux、BSD など。共有フォルダー内のコードを更新し、新しいコードを多かれ少なかれ瞬時に動作させる必要があります。バイナリまたはソース パッケージの配布は理想的とは言えません。
bash - ディレクトリがBashシェルスクリプトに存在するかどうかを確認するにはどうすればよいですか?
Bashシェルスクリプト内で、ディレクトリが存在するかどうかを確認するために使用できるコマンドは何ですか?
c++ - 理想的にはPOSIXを使用して、C/C++でファイル/ディレクトリの変更を通知する方法
主題はそれをすべて言います-通常、簡単でクロスプラットフォームの方法は、インテリジェントにポーリングすることです. しかし、すべての OS には、ポーリングせずに通知する手段がいくつかあります。合理的にクロスプラットフォームの方法で可能ですか? (私はWindowsとLinuxしか気にしませんが、Macを使用しているので、posixが役立つと思いましたか?)
linux - 内部からchroot監獄を検出する
root権限なしでchroot監獄にいることをどのように検出できますか? 標準の BSD または Linux システムを想定しています。私が思いついた最善の方法は、「/」の inode 値を見て、それがかなり低いかどうかを検討することでしたが、より正確な検出方法が必要です。
[edit 20080916 142430 EST]
/boot や /dev などを複製して投獄されたユーザーをだますことは難しくないため、ファイルシステムを調べるだけでは十分ではありません。
[edit 20080916 142950 EST]
Linux システムの場合、/proc 内の予期しない値をチェックすることは合理的ですが、そもそも /proc をサポートしていないシステムについてはどうでしょうか?
linux - POSIX 非同期 I/O (AIO) のステータスは?
Web には、POSIX AIO 機能をさまざまな詳細で説明しているページが散在しています。それらのどれもひどく最近のものではありません。彼らが正確に何を説明しているのかは明らかではありません。たとえば、ここの Linux カーネル非同期 I/O サポートの「公式」(?) Web サイトは、ソケットが機能しないと述べていますが、私の Ubuntu 8.04.1 ワークステーションの「aio.h」マニュアル ページはすべて、それを暗示しているようです。任意のファイル記述子に対して機能します。次に、ドキュメントがさらに少ないライブラリ層で動作するように見える別のプロジェクトがあります。
知りたい:
- POSIX AIO の目的は何ですか? 私が見つけることができる実装の最も明白な例がソケットをサポートしていないと言っていることを考えると、全体が奇妙に思えます。非同期ディスク I/O のためだけですか? もしそうなら、なぜ超汎用 API なのですか? そうでない場合、ディスク I/O が最初に攻撃されたのはなぜですか?
- 私が見ることができる完全なPOSIX AIOプログラムの例はどこにありますか?
- 誰かが実際にそれを実際に使用していますか?
- POSIX AIO をサポートするプラットフォームは? 彼らはどの部分をサポートしていますか?
<aio.h>
約束しているように見える暗黙の「任意の FD への任意の I/O」を本当にサポートしている人はいますか?
私が利用できる他の多重化メカニズムは完全に優れていますが、そこに浮かぶ情報のランダムな断片に興味をそそられました。
c++ - 信号をキャッチしてユーザーに問題を報告するポータブルな方法
なんらかの奇跡によってプログラムでセグメンテーション違反が発生した場合、SIGSEGVをキャッチし、ユーザー(おそらくGUIクライアント)に重大な問題が発生したことを単一のリターンコードで知らせたいと思います。同時に、どの信号がキャッチされたかを示す情報をコマンドラインに表示したいと思います。
今日、シグナルハンドラは次のようになります。
このスレッドから、シグナルハンドラーから非リエントラント関数を呼び出すのは悪であると読んだので、上記の恐怖の叫び声を聞くことができます。
信号を処理してユーザーに情報を提供するためのポータブルな方法はありますか?
編集:または少なくともPOSIXフレームワーク内で移植可能ですか?
c - /dev/urandom の読み取りはスレッドセーフですか?
これはコードです:
そうでない場合、スレッドセーフにするにはどうすればよいですか?