WindowsのコードがP/Invokeを使用してkernel32.dllからGetTickCount64()
を呼び出しました。これはUbuntu Server 14のMonoでは動作しません - EntryPointNotFoundException
を取得します。Ubuntu ServerでMonoでシステムの稼働時間を取得するにはどうすればよいですか?
this approachがあります。PerformanceCounter
です。 Windows上で動作しますが、カウンタ名/カテゴリがSystem
/System Up Time
に設定されているLinux上で使用すると、常に0回の時間間隔が得られます。だからそれはあまりにも機能しません。
Environment.Tickount
はWindowsと同じように動作しますが、47日ごとにオーバーフローし、私のusecaseの結果が混乱する可能性があります。したがって、64ビットカウンタを使用することをお勧めします。
Ubuntu ServerでMonoを実行しているC#コードでシステムの稼働時間を取得するにはどうすればよいですか?
使用Linuxネイティブの方法、その後、http://stackoverflow.com/questions/1540627/what-api-do-i-call-to-get-the-system-uptime –
@LexLiどうやって始めるのですC#コードでそれを行うと? MonoでPInvokeを実行する方法については – sharptooth
をご覧ください。 Windows上での作業と比べて大きな違いはありません。 –