sudo pythonプロセス数


0x01
process.pyプログラムは次のとおりです.
def worker(interval):
    print os.getpid()
    n = 5
    while n > 0:
        print("The time is {0}".format(time.ctime()))
        time.sleep(interval)
        n -= 1

if __name__ == "__main__":
    p = multiprocessing.Process(target = worker, args = (200,))
    p.start()

    print os.getpid()
    p.join()
    #print "p.pid:", p.pid
    #print "p.name:", p.name
    #print "p.is_alive:", p.is_alive()



プライマリ・プロセスはサブプロセスを開始し、2つのプロセスのプロセスidを承諾します.
ps-ef|grep processを使用する.py現在のプロセスの数を見て、ここでは2つの方法で実行します.
  • python process.py
  • yeruoxi   8520  8339  0 13:01 pts/2    00:00:00 python process.py
    yeruoxi   8521  8520  0 13:01 pts/2    00:00:00 python process.py
    
    
  • sudo python process.py
  • root      8653  8339  0 13:02 pts/2    00:00:00 sudo python process.py
    root      8675  8653  0 13:02 pts/2    00:00:00 python process.py
    root      8676  8675  0 13:02 pts/2    00:00:00 python process.py
    
    

    sudoを使用して実行すると、プロセスが1つ増えたのはなぜですか?
    0x02
    8653このプロセスはpythonプログラムによって作成されたものではなく、プログラムから出力されるプロセスidによって知ることができる.実はこのプロセスはsudoコマンドによって生成され、sudoコマンドはまずrootユーザーのshell、sudo python processを確立する.pyは新しいshellプロセスであり、8675はこのshellで起動されたpython processである.pyのプロセス、8676はprocessです.pyプログラムで起動したサブプロセス.
    0x03
    参照先:https://www.jianshu.com/p/a393e2ba3a75 https://www.cnblogs.com/jackiesteed/articles/4269018.html https://www.cnblogs.com/bodhitree/p/6018369.html