問題タブ [uname]
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.
php - php_uname() はどれくらい速いですか?
php_uname()php_uname('s n')
がorを実行する速さphp_uname('a')
。私が尋ねる理由は、それを使用して、自分が使用しているサーバーと構成 (パスなど) を判別したいからです。
c++ - 「uname -a」の結果をストリームに送信する良い方法は?
C++ プログラムから 'uname -a' を呼び出して結果をストリームに送信する良い方法は何ですか?
system() と exec() を見ましたが、呼び出しの stdout にアクセスできないようです。
ありがとう。
-ウィリアム
rpm - rpm仕様はuname-rを呼び出します
アプリをインストールするときに、にいくつかのファイルをコピーしたいと思います/lib/modules/KERNEL_VERSION/extra
。
もちろん問題はそれKERNEL_VERSION
が修正されていないということです。
を呼び出すことで見つけることができます"uname -r"
が、rpmスペックファイルでこれを行うにはどうすればよいですか?
また、もっと良い方法があれば、私はアイデアを受け入れることができます。
c - C 関数 uname の使い方
システムに関する情報を取得する関数を作成する必要があります (最も重要な情報はアーキテクチャです)。sys/utsname.hを含めて使用できる関数unameを見つけました。さて、ググってドキュメントを読んでも、関数の例が見つからず、unameの使い方がわかりません。誰でも使い方を説明できますか?例も書いていただけると助かります。前もって感謝します。
php - PHPが実行されているOSの種類を正確に判断する
PHPサーバーが実行されているOSの種類を判別する必要があります。タイプとは、「wince」、「winnt」などではなく、「windows」や「linux」などの文字列を意味します。
これまでのところ、私はリードする必要があります:PHP_OSとuname()、後の方が前の方よりも信頼性が高いです(PHP_OSは、ドキュメントによると、PHPが構築されたOSを示しています)。
php - あなたのウナメは何と言っていますか?
短い話: uname から正しい OS タイプを見つける PHP スクリプトを作成する必要があります (例: bothwince
とwinnt
は を返しwindows
ます)。詳細については、こちらを参照してください。
これはコミュニティ wiki であるべきではありませんか?
はい、でも...こちらをご覧ください。
支援方法:お使いの OS が以下に記載されていない場合は、このコードを実行して結果を共有してください。
または、Unix シェルで試してください。
共有結果一覧
- ダーウィン ... 10.4.0 ダーウィン カーネル バージョン 10.4.0: 4 月 23 日金曜日 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
- Darwin ... 9.8.0 Darwin Kernel バージョン 9.8.0: 2009 年 7 月 15 日水曜日 16:55:01 PDT; root:xnu-1228.15.4~1/RELEASE_I386 i386
- Windows NT ... 6.1 ビルド 7600
- Linux ... 2.6.24-24-xen #1 SMP Tue Aug 18 18:15:39 UTC 2009 x86_64
- Linux ... 2.6.34.7-56.fc13.x86_64 #1 SMP 水 9 月 15 日 03:36:55 UTC 2010 x86_64
- Linux ... 2.6.32-25-generic #44-Ubuntu SMP Fri Sep 17 20:26:08 UTC 2010 i686
- Windows NT ... 5.1 ビルド 2600
- Windows NT ... 6.0 ビルド 6002 (Windows Server 2008 Standard Edition Service Pack 2) i586
- Windows NT ... 6.1 ビルド 7600 ((null)) i586
特定の条件が完全に一致する場合でも、 uname は異なる結果を生成することに注意してください。
linux - Sun Grid Engine (SGE) で実行すると uname -m が間違ったアーキテクチャを報告するのはなぜですか?
古い 32 ビット バージョンの SGE execd を実行する 64 ビットの Debian Squeeze システムを使用しています。コマンドラインで実行するuname -m
と、期待どおりの結果が得られます: x86_64
. しかしuname -m
、同じホストの SGE スクリプト内で実行すると、出力はi686
. これにより、 からの正しい読み取りに依存するものはすべて壊れますuname -m
。
私は問題を回避できるので、私の質問は実用的というよりも学術的です。uname のソース コードをダウンロードしましたが、マシン アーキテクチャ データのプル元がどこにあるのかわかりませんでした。uname -m
が 64 ビットの親プロセスではなく 32 ビットの親プロセスで実行されているため、この問題が発生していると思います。だから私の質問は - その仮定は正しいですか? もしそうなら、なぜ uname はそれを実行するプロセスのアーキテクチャに影響されるのですか?
python - Pythonのctypesを使用してlibcからunameを呼び出す
tl; dr
これは、GNUバージョンのlibcで動作します(uclibcではまだ試していません)
元の投稿
次のコードはsegfaultsです。何が間違っているのかわかりません。
これは同じことをします:
私は何か基本的なことを台無しにしているに違いありません...
(私は知っていos.uname()
ます、これは私が失敗している理解の練習にすぎません)
ここでunameマニュアルを参照しました:http ://www.cl.cam.ac.uk/cgi-bin/manpage?2 + uname
私は何が間違っているのですか?
編集:
Nemoのおかげで、データを取得できました。
ただし、レギュレーター文字列と同様に、項目がNULLで区切られているため、「Linux」のみを取得していると想定しています。NULLを超えて読み取る方法はありますか?
Edit2:
Nemosのコメントに基づいて、私はこれを試しました-これは機能しませんが、正しい方向への一歩かもしれないと思いました...エラー:
これは実行不可能ですか?
Edit3:(これまでで最も長い投稿を目指しています...=P)
これは機能しますが、値を出力した後にセグフォールトします...
最終編集:
次の作品-私はもちろんGNUバージョンのlibcを使用しています。(Ubuntuマシンのim)したがって、ドメインのフィールドを追加するだけで、セグメンテーション違反を停止できます。後から考えると理にかなっています。:)
unix - uname出力を理解する
さまざまなuname -a
出力はどういう意味ですか?以下に出力例を示します。
LinuxがOSであり、2.6.18-194.e15PAEがカーネルバージョンであることがわかりました。残りの部分はどういう意味ですか?
あなたの助けに感謝。
linux - SOLARIS - OS のアップグレード前に OS のバージョンを確認する
私は SOLARIS 10 OS を持っています
SOLARIS OS は、次のバージョンとして新しいバージョンにアップグレードされました - 144488-02
OS バージョンの確認の例:
.
.
OS をアップグレードする前に SOLARIS のバージョンを確認するにはどうすればよいですか?
つまり、アップグレード前 – uname –v show different version 、
しかし、どのコマンドまたはファイルでこの情報を見つけることができますか?