python在windows环境下开机启动进程到后台

以开机启动django为例

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import threading 
import subprocess
import time

import win32api, win32gui

def exec_(command, cwd):
    """
    执行本地命令
    :param command: 命令
    :param cwd: 执行环境
    :return:
    """
    sub = subprocess.Popen(command, cwd=cwd, env=None, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    # (stdout, stderr) = sub.communicate()
    # return stdout, stderr

def perform_task():
    """ 执行任务 """
    command = r'python manage.py runserver 0.0.0.0:8888'
    cmdpath = r'D:\mWork\lqpk\tools\myblog'

    exec_(command, cmdpath)


if __name__ == '__main__':
    """ 主方法入口 """
    ct = win32api.GetConsoleTitle()
    hd = win32gui.FindWindow(0,ct)
    win32gui.ShowWindow(hd,0)

    task = threading.Thread(target=perform_task, args=())
    task.start()

    print "over"

把这个start.py 放到windowns的启动目录 over
如果是linux环境状态 那么把win32gui删掉 这个.py开机启动默认就在后台 我记得

发布了14 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_15682489/article/details/84865977
今日推荐