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

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

macos - FreeBSD の make_dev() 関数に相当する OS X はありますか?

FreeBSD から OS X にいくつかのコードを移植しようとしています。コードはかなり低レベルでありmake_dev()ioctl().

将来、アップストリームの変更をより簡単にマージできるように、コードを可能な限りオリジナルに近づけたいと考えています。私の質問は、OS X でそのようなデバイス ファイルを作成する方法はありますか? ウィキペディアによると、イディオムはプラットフォームでサポートされています。誰かが私を正しい方向に向けることができますか?

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

c++ - mknod(2)は、FreeBSDのスーパーユーザーに代わりに何を使用するかを要求しますか?

LinuxからFreeBSDに移植していて、:: mknod()がerrnoで失敗することに遭遇しました:

しかし、manページの前半に次のように記載されていることもわかります。

では、LinuxとFreeBSDの両方で機能する、使用するための適切な代替呼び出しは何でしょうか?

これが発生する私のコードスニペット:

私の目的は、正しい権限で空のファイルを作成することです。

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

c - FUSE からのシステム コールのデバッグ

私は、sqliteを介してマッピングを行い、呼び出しを基になるファイルシステムに渡すFUSEファイルシステムを作成しています(bbfsの拡張の一部)。ファイルの作成を開始しようとすると、問題が発生し始めました。mknod を呼び出すと、ERANGE で返されます。strace の末尾は次のとおりです (ファイルシステムは test/ にマウントされています)。

そして、ここに私の内部ログからの関連セクションがあります:

私は (1) この差し迫った問題の解決策と (2) FUSE 全般をデバッグする良い方法を探しています。ERANGE が strtol() から来ているのではないかとこっそり疑っていますが、確認方法がわかりません。コールバックにヒットしたときに gdb をポップアップさせることができたらいいのにと思います...

ありがとう!

編集:ああ、これが私の mknod() 関数のソースです:

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

c - mknod は移植可能ですか? そうでない場合、代替手段は何ですか?

mknodコードでファイルを作成するために使用したいのですがman

mknod() の移植可能な唯一の使用法は、FIFO 特殊ファイルを作成することです。mode が S_IFIFO でないか、dev が 0 でない場合、mknod() の動作は規定されていません。

つまり、mknod は実際には移植性がなく、別の方法で関数を作成する必要があるということですか? 電話openしてすぐにcloseいかがですか?どちらの方法がより安全ですか?

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

linux - FIFO を介した stdin のリダイレクト

GNU/Linux でサーバー アプリ (Java で記述) を実行しています。これは、入力 (stdin からだと思います) を受け取り、それを解釈していくつかのコマンドを実行します。ターミナル ウィンドウ内でアプリを実行したくありませんが (デーモンを実行したい)、いつでもコマンドを入力できるようにしたいと考えています。fifosを使えばできるかもしれないと思ったので、mknodで作成しました。問題はcat fifofile > java...cat fifofile | java ...何らかの理由で「ファイルが見つかりません」というエラーで失敗します。

cat のみを使用して読み取りと書き込みを行い、fifo は問題なく動作します。

これを修正する方法、または同じ目標を達成する他の方法はありますか?

0 投票する
3 に答える
11419 参照

c - CプログラムのUbuntuでmknodを使用する

私は次のようなmknodコマンドを使用しているACプログラムを作成しようとしています

そして、いくつかのことをします。Red Hatシステムではうまく機能しますが、ubuntuで失敗し、無効な引数でエラーが発生します。

0 投票する
3 に答える
56626 参照

linux - Linux カーネル モジュールの init_module コードからデバイス ノードを作成する方法は?

Linux カーネル用のモジュールを作成しており、init 関数でいくつかのデバイス ノードを作成したいと考えています。

また、カーネルに最初のノードにマイナー番号を割り当ててもらいたいので、他のノードのマイナー番号を自分で割り当てます。

コードでこれを行うにはどうすればよいですか。mknod を使用してシェルからデバイスを作成したくない

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

macos - mknod の OSX ドキュメント

Apple のドキュメントは、mknod のメジャー/マイナー番号が少しまばらだと思いました。データをパイプできるように、マイク用の生のキャラクターデバイスを作成しようとしていました。適切な Linux システムでは、カーネルの ./Documentation/Devices.txt ファイルに、参照されているメジャー/マイナー番号が含まれています。Apple は、ハードウェア アクセス用の raw カーネル キャラクター デバイスを作成するための必然的なドキュメントを作成しましたか?

元。:mknod dsp c 14 3

前もって感謝します。

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

command-line - 「mknod」の反対語は何ですか?

Kernel Module Programming Guideからキャラクターデバイスドライバーの書き方を学んでおり、ドライバーと通信mknodするためのノードを作成していました/dev

rmnodただし、マンページを確認し、それが存在しないコマンドであることを確認した後、それを削除する明白な方法を見つけることができません。

の影響を逆にして、 でmknod作成されたノードを安全に削除する正しい方法は何/devですか?