問題タブ [mknod]
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.
macos - FreeBSD の make_dev() 関数に相当する OS X はありますか?
FreeBSD から OS X にいくつかのコードを移植しようとしています。コードはかなり低レベルでありmake_dev()
、ioctl()
.
将来、アップストリームの変更をより簡単にマージできるように、コードを可能な限りオリジナルに近づけたいと考えています。私の質問は、OS X でそのようなデバイス ファイルを作成する方法はありますか? ウィキペディアによると、イディオムはプラットフォームでサポートされています。誰かが私を正しい方向に向けることができますか?
c++ - mknod(2)は、FreeBSDのスーパーユーザーに代わりに何を使用するかを要求しますか?
LinuxからFreeBSDに移植していて、:: mknod()がerrnoで失敗することに遭遇しました:
しかし、manページの前半に次のように記載されていることもわかります。
では、LinuxとFreeBSDの両方で機能する、使用するための適切な代替呼び出しは何でしょうか?
これが発生する私のコードスニペット:
私の目的は、正しい権限で空のファイルを作成することです。
c - FUSE からのシステム コールのデバッグ
私は、sqliteを介してマッピングを行い、呼び出しを基になるファイルシステムに渡すFUSEファイルシステムを作成しています(bbfsの拡張の一部)。ファイルの作成を開始しようとすると、問題が発生し始めました。mknod を呼び出すと、ERANGE で返されます。strace の末尾は次のとおりです (ファイルシステムは test/ にマウントされています)。
そして、ここに私の内部ログからの関連セクションがあります:
私は (1) この差し迫った問題の解決策と (2) FUSE 全般をデバッグする良い方法を探しています。ERANGE が strtol() から来ているのではないかとこっそり疑っていますが、確認方法がわかりません。コールバックにヒットしたときに gdb をポップアップさせることができたらいいのにと思います...
ありがとう!
編集:ああ、これが私の mknod() 関数のソースです:
c - mknod は移植可能ですか? そうでない場合、代替手段は何ですか?
mknod
コードでファイルを作成するために使用したいのですがman
、
mknod() の移植可能な唯一の使用法は、FIFO 特殊ファイルを作成することです。mode が S_IFIFO でないか、dev が 0 でない場合、mknod() の動作は規定されていません。
つまり、mknod は実際には移植性がなく、別の方法で関数を作成する必要があるということですか? 電話open
してすぐにclose
いかがですか?どちらの方法がより安全ですか?
linux - FIFO を介した stdin のリダイレクト
GNU/Linux でサーバー アプリ (Java で記述) を実行しています。これは、入力 (stdin からだと思います) を受け取り、それを解釈していくつかのコマンドを実行します。ターミナル ウィンドウ内でアプリを実行したくありませんが (デーモンを実行したい)、いつでもコマンドを入力できるようにしたいと考えています。fifosを使えばできるかもしれないと思ったので、mknodで作成しました。問題はcat fifofile > java...とcat fifofile | java ...何らかの理由で「ファイルが見つかりません」というエラーで失敗します。
cat のみを使用して読み取りと書き込みを行い、fifo は問題なく動作します。
これを修正する方法、または同じ目標を達成する他の方法はありますか?
c - CプログラムのUbuntuでmknodを使用する
私は次のようなmknodコマンドを使用しているACプログラムを作成しようとしています
そして、いくつかのことをします。Red Hatシステムではうまく機能しますが、ubuntuで失敗し、無効な引数でエラーが発生します。
linux - Linux カーネル モジュールの init_module コードからデバイス ノードを作成する方法は?
Linux カーネル用のモジュールを作成しており、init 関数でいくつかのデバイス ノードを作成したいと考えています。
また、カーネルに最初のノードにマイナー番号を割り当ててもらいたいので、他のノードのマイナー番号を自分で割り当てます。
コードでこれを行うにはどうすればよいですか。mknod を使用してシェルからデバイスを作成したくない
macos - mknod の OSX ドキュメント
Apple のドキュメントは、mknod のメジャー/マイナー番号が少しまばらだと思いました。データをパイプできるように、マイク用の生のキャラクターデバイスを作成しようとしていました。適切な Linux システムでは、カーネルの ./Documentation/Devices.txt ファイルに、参照されているメジャー/マイナー番号が含まれています。Apple は、ハードウェア アクセス用の raw カーネル キャラクター デバイスを作成するための必然的なドキュメントを作成しましたか?
元。:mknod dsp c 14 3
前もって感謝します。
command-line - 「mknod」の反対語は何ですか?
Kernel Module Programming Guideからキャラクターデバイスドライバーの書き方を学んでおり、ドライバーと通信mknod
するためのノードを作成していました/dev
。
rmnod
ただし、マンページを確認し、それが存在しないコマンドであることを確認した後、それを削除する明白な方法を見つけることができません。
の影響を逆にして、 でmknod
作成されたノードを安全に削除する正しい方法は何/dev
ですか?