私はC言語でunixの 'nice'コマンドとは異なる風味を実装しようとしています。nice()システムコールとsetpriority()コールの定義を見てきました。 nice()呼び出しは、プロセスの優先度を増減します。プロセスの優先度を特定の値に設定したい場合、nice()コールを使用できませんか?基本的には、優先順位の変更方法以外にnice()とsetpriority()の間に違いがありますか?UNIXでのniceとsetpriorityの相違
答えて
これは歴史的です。 nice()
は、setpriority()
よりずっと前に導入されました。下位互換性のために、nice
機能は保持されていました。
nice
は、独自の優先順位(現在のプロセスの正当性)を設定します。 setpriority
を使用すると、他のプロセス(またはプロセスグループまたはユーザー)の正当性を設定できます。それをrenice
と考えてください。
男の素敵な3P素敵
int型(int型INCR)。
マニュアル3Pのsetpriority
int型のsetpriority(id_tは、int値INT)。
ええ、でも、私は善良なもので達成することができますか? –
はい、しかしnice * onlyは現在のプロセスに影響します。ここでは、setpriorityが(潜在的に)どのプロセスにも影響を与えることができます。それは違いです。 –
@Chrisなぜ、誰かがsetpriority/getpriorityが行動を複製するために使用できるときに、誰かがniceを使うのに焦点が当てられているようです。 –
nice()
は現在のnice値を基準にして現在のプロセスのnice値を変更するので、プロセスはnice値の開始を知る必要はなく、システムにとってより良いはずです(例:aプロセスが何らかのバックグラウンド処理を行う子を起動すると、子プロセスは自分自身を素敵に設定します)。
setpriority()
ユースケースは、絶対的なnice値を特定のプロセスに明示的に設定するユーザーです。
- 1. importとconstとの相違点とcommonjsでの相違点
- 2. ウィンドウとUNIXパスの違い
- 3. =と:=の相違点
- 4. Java JFrameとJPanelの相違点Repaint()との相違
- 5. PHPUnitとPHPSpecの相違点と相違点
- 6. UNIX系のexec()とsystem()の違い
- 7. pthreadsのNice-Levelですか?
- 8. MSBuildとTFSBuildの相違点
- 9. string.hとstrings.hの相違点
- 10. NSArrayとNSMutableArrayの相違点
- 11. System.Web.CacheとHTTPContext.Curent.Cacheの相違点
- 12. saveとsave_model()の相違点
- 13. sparse.model.matrixとas.matrixの相違
- 14. Color.redとColor.REDの相違
- 15. ディスパッチキューとNSOperationQueueの相違点
- 16. HTML5とjQueryの相違点
- 17. QtGui.QApplicationとQtCore.QCoreApplicationの相違点
- 18. CDO.MessageとSystem.Net.Mailの相違点
- 19. TransactionとTransactionScopeの相違点
- 20. addonGlobalLayoutListenerとaddOnPreDrawListenerの相違点
- 21. getGenericParameterTypesとgetParameterTypesの相違点
- 22. vmlinuxとvmlinux.oの相違点
- 23. KeyEventArgs.systemKeyとKeyEventArgs.Keyの相違点
- 24. Thread.sleep()とTimeUnit.SECONDS.sleep()の相違点
- 25. レポートとサブレポートの相違点
- 26. MPI_ScatterとMPI_Bcastの相違点
- 27. V8とECMAScriptの相違点
- 28. カーネルモードとドライバの相違点
- 29. アルゴリズムとメソッドの相違点
- 30. mysql_num_rowsとmysql_affected_rowsの相違点
setpriorityはniceの進歩です。おかげで、tatは私の疑問を解決しました。niceとsetpriorityが異なる(lame、私が知っている:)という「優先度」があるのか疑問に思っていました) )それ自体。 –
@AswinParthasarathyこれはdup2の歴史に似ています。どちらの場合でも、より一般的な(またはより具体的な)振る舞いが必要であることが分かりました。なぜなら、一部の関数がオーバーラップする振る舞いをしているように見えるからです。 –
@Aswin:実際には、 'sched_setscheduler()'によって設定されるその他の優先順位があります。 – ninjalj