python程序从win移植到Linux下
import win32file
import win32con
import win32process
file_flag = win32file.GetFileAttributesW(str(p))
is_hiden = file_flag & win32con.FILE_ATTRIBUTE_HIDDEN
win32process.CreateProcess(
None,
cmd,
None,
None,
0,
win32process.NORMAL_PRIORITY_CLASS | win32process.CREATE_NEW_CONSOLE,
None,
cmd_dir,
win32process.STARTUPINFO()
)
帮帮忙了。
win32file你这些库在linux下都不是这些名字了,你直接找linux下对应的库,然后改了就行了
看样子你需要创建一个空进程?因为你的win32process.CreateProcess第一个参数为None
如果你需要在linux启动其它程序,可以用subprocess.Popen
Python创建进程的方式详解
import multiprocessing
import time
import datetime
import os
class MyProcess(multiprocessing.Process):
def __init__(self,name = None):#使用父类中的初始化方法
multiprocessing.Process.__init__(self)#接受参数
if name:#判断传递的参数是否存在
self.name = name
def run(self):
print('子进程开始的时间为:',datetime.datetime.now())
print('子进程%s正在执行'%os.getpid())
time.sleep(5)
print('子进程执行完毕的结束时间为', datetime.datetime.now())
if __name__ == '__main__':
print('父进程PID为',os.getpid())
print('父进程开始执行的时间为:',datetime.datetime.now())
process_one = MyProcess()
process_one.start()#启动进程
process_one.join()#等待进程执行结束
print('父进程结束执行的时间为:',datetime.datetime.now())