一些关于linux process 和python process的记录
创始人
2024-05-27 15:08:53

python mulprocess

主要用来生成另一个进程并运行

def func(i):print('helloworld')from multiprocessing import Process
p = Process(target=func,args=(i, ))
p.start()

如果想要调用shell命令,可以采用os.popen 或者是 subprocess.run

但是前者只能执行命令并获取输出,对一些复杂的输出或者输入并不能处理,因此选择后者
subprocess.run vs subprocess.call vs subprocess.Popen
前两者没有什么区别,只是一个是python3.5之前的,一个是之后的,call会不会被取消还不清楚,
run是同步的,popen是异步的,体现在结果上就是run会等待,执行后会立刻结束,popen不等待,但是什么时候执行并不确定

getpid = os.popen("ps -ef | grep slice.sh | grep -v 'grep' | awk '{print $2}'")
pid = getpid.read().strip('\n').replace("\n", " ")command = "sudo kill -9 {0}".format(pid)
print(command)
p = subprocess.run("exec " + command,shell=True,preexec_fn=os.setsid)

os.killpg(pid,SIGINT)这个函数只能处理自己生成的进程,不能处理别的进程

linux process

请添加图片描述

sudo kill -9 pid = sudo kill -SIGKILL pid
ctrl+c = SIGINT
但是又可能忽略掉,sigint发送无用,ctrl+c有用
perf kill无输出

相关内容

热门资讯

涉嫌严重违纪违法,黄铮霖被查! NEWS﹀今年10月,澎湃新闻从上海证券交易所官网发布的《上海机场关于公司董事、总经理离任的公告》获...
欧尔班:不接受欧委会继续资助乌... 每经AI快讯,匈牙利总理欧尔班当地时间22日在社交媒体发布视频称,他在寄给欧盟委员会主席冯德莱恩的信...
全球最大 “华龙一号”核电基地...   ●全球最大“华龙一号”核电基地中闪耀着“四川智慧”,具有完全自主知识产权的核安全级DCS“龙鳞”...
昆明率先建成全省首批无人机网格...   本报讯 记者缪亚平 通讯员何幸然 卢显仑 张贵军报道 11 月 17 日,随着东川区最后一台无人...
北京温榆河公园获“环境可持续发... (来源:千龙网)日前,被誉为“绿色奥斯卡”的2025国际花园城市竞赛全球总决赛在土耳其伊斯坦布尔落幕...