2

一部のサービスの優先度を設定する cron ジョブが必要ですが、親は root として実行され、残りは別のユーザーとして実行されます。ただし、親はその優先度 ID を使用してプロセスを再生成するため、cron ジョブは必要以上に実行する必要があります。優先度を設定するためにこれを行う方法はありますか?

高く設定したいものの例:

1 S root     13826     1  0  81   0 -  3289 rt_sig 00:33 ?        00:00:00 nginx: master process /usr/local/sbin/nginx -c /etc/nginx/nginx.conf
5 S root     15474     1  0  75   0 -  3848 -      Apr22 ?        00:01:37 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19511 13826  0  75   0 -  3297 -      13:06 ?        00:00:10 nginx: worker process
5 S nobody   19512 13826  0  78   0 -  3361 -      13:06 ?        00:00:11 nginx: worker process
5 S nobody   19513 13826  0  75   0 -  3681 -      13:06 ?        00:00:09 nginx: worker process
5 S nobody   19514 13826  0  78   0 -  3297 -      13:06 ?        00:00:07 nginx: worker process
5 S root     19521 15474  0  77   0 -  3561 -      13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19522 15474  0  78   0 -  3848 431083 13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19523 15474  0  75   0 -  3952 semtim 13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19524 15474  0  75   0 -  3951 semtim 13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19525 15474  0  75   0 -  3949 semtim 13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19526 15474  0  78   0 -  3947 -      13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL
5 S nobody   19527 15474  0  78   0 -  3949 semtim 13:06 ?        00:00:00 /usr/local/apache/bin/httpd -k start -DSSL

http://www.rfxn.com/projects/system-priority/があることは知っていますが、私が知る限り、それは UID によってのみ行われます。

4

1 に答える 1

3

質問はあまり明確ではありませんが、/proc/18357/stat18357 を現在のプロセスの PID に置き換えることで、親の PID を簡単に見つけることができます。

親PIDはそこの4番目の引数です

于 2012-04-28T18:27:15.407 に答える