python实现程序重启和系统重启方式

我就废话不多说了,还是直接看代码吧!

def restart_program():
  """Restarts the current program.
  Note: this function does not return. Any cleanup action (like
  saving data) must be done before calling this function."""
  python = sys.executable
  os.execl(python, python, * sys.argv)

机器重启

#!/usr/bin/python
#coding=utf-8
import time
from os import system
runing = True
while runing:
 input = raw_input('关机(s)OR重启(r)?(q退出)')
 input = input.lower()
 if input == 'q' or input =='quit':
  runing = False
  print '程序退出'
  break
 seconds = int(raw_input('请输入暂停时间(单位:秒):'))
 time.sleep(seconds)
 print '暂停时间:', seconds
 runing = False

 if input == 's':
  print '关机ing'
  system('halt')
 elif input == 'r':
  print '重启ing'
  system('reboot')
 else:
  print '程序错误重新输入'
  runing = True
print '程序结束~~~!'

补充知识:python一些事(重启与清屏)

当我们使用python进行计算,并且进行一系列打印之后,如果这个时候我们发现打印的内容不符合我们要求,需要重新打印,并且还不想看到以前打印的错误信息,怎么办?

答:有两种方法,1、重启。2、清屏。都能搞定我们前面提到问题。个人推荐第二种,不要问我为什么?

当然这两种方法首先都必须有循环,通过一个死循环和一个限制条件(总得让程序停下来是不是)来保证达到我们的最终目的(当然是正确信息输出的目的),如果输出符合我们想要的打印结果,就break,否则,continue。

这里的循环和限制条件就不写了(跟着你的需求走),只写重启和清屏(当然不是我自创的,肯定是从python前辈的经验学过来的)。

程序重启

def restart_program():
  """Restarts the current program.
  Note: this function does not return. Any cleanup action (like
  saving data) must be done before calling this function."""
  print('ready to restart program......')
  python = sys.executable
  os.execl(python, python, *sys.argv)

控制台清屏

os.system('cls')

在这里写这点小东西只有两个目的,第一,自己总结下,下次遇到就不懵逼了。第二、希望可以帮助一些有可能会遇到和我同样问题的人。

以上这篇python实现程序重启和系统重启方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解程序意外中断自动重启shell脚本(以Python为例)

    我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run

  • python基于json文件实现的gearman任务自动重启代码实例

    一:在gearman任务失败后,调用task_failed def task_failed(task, *args): info = '\n'.join(args) datetime = local_datetime() text = '{} FAILED:\n{}\n当前响应worker已关闭\n{}\n-->[{}]'.format(task, info, datetime, task) print(text) check_frequency(task) 二:打印失败信息后,调用check_

  • python监控进程状态,记录重启时间及进程号的实例

    本脚本为本人在性能测试过程中编写,用于对进程状态的监控,也可以用于日常的监控,适用性一般,扩展性还行 # -*- coding: UTF-8 -*- # author=baird_xiang import os import time import re import copy nginxRestart_num= -1 nginxReload_num= -1 logSender_num= -1 es_num= -1 nginxParent_pid=[] nginxChild_pid=[] log

  • python自动循环定时开关机(非重启)测试

    做手机整机测试的,肯定有开关机的需求,关机,几分钟后再开机(一直循环操作测试,就是不能重启):这个需求在关机后就没有办法开机了,任何脚本命令都不行,除非做APP:重启功能的缺点是关机后就立即开机了,需求是关机后几分钟才开机,reboot做不到: 基本思路:现在借用终端自带的定时开关机APP功能,定时开关机只能定时一天就一个时间,达不到这个目的,这个APP作为辅助,关机后几分钟自动开机,开机后更改系统时间或者定时开关机APP时间,来达到测试多次开关机功能 废话不多说,来看看脚本怎么写 # -*-

  • Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)

    0. 我们如何通过邮件系统完成远程控制电脑(关机.重启等)? 实现思路: 需要有两个邮箱:接收指令邮箱(A)发送指令邮箱(B) 被控制的电脑(查看 A 邮箱): 1. 每隔指定时间监听 A 邮箱 查看最近的邮件 2. 打开最近邮件,看是否是 B 邮箱地址发来的执行命令 3. 向 A 和 B 邮箱都发送 主题为:反馈 内容为:"目标计算机已收到指令!开始执行:xxx 指令!" 邮件 4. 执行指定邮箱发送的执行命令 远程人员操作: 登录 B 邮箱,向 A 邮箱发送 主题为:"目

  • python实现程序重启和系统重启方式

    我就废话不多说了,还是直接看代码吧! def restart_program(): """Restarts the current program. Note: this function does not return. Any cleanup action (like saving data) must be done before calling this function.""" python = sys.executable os.ex

  • Android实现关机与重启的几种方式(推荐)

    下面我们来探究Android如何实现关机,重启:在Android中这种操作往往需要管理员级别,或者root Android实现的方式如下几种: 默认的SDK并没有提供应用开发者直接的Android系统关机或重启的API接口,一般来讲,实现Android系统的关机或重启,需要较高的权限(系统权限甚至Root权限).所以,在一般的APP中,如果想要实现关机或重启功能,要么是在App中声明系统权限,要么是通过某种"间接"的方式,比如广播或反射,来间接实现系统关机或重启.再者,就是放在源码环境

  • Android编程实现系统重启与关机的方法

    本文实例讲述了Android编程实现系统重启与关机的方法.分享给大家供大家参考,具体如下: 最近在做个东西,巧合碰到了sharedUserId 的问题,所以收集了一些资料,存存档备份. 安装在设备中的每一个apk文件,Android 给每个 APK 进程分配一个单独的用户空间,其 manifest 中的 userid 就是对应一个 Linux 用户都会被分配到一个属于自己的统一的 Linux 用户 ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它). 用户 ID 在应用

  • Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    目录 前提条件 第1步:设置 第2步:创建一个Dockerfile 第3步:在Compose文件中定义服务 Web服务 Redis服务 第4步:用Compose构建和运行你的应用 第5步:编辑Compose文件以添加绑定挂载 第6步:用Compose重新构建并运行应用程序 第7步:更新应用程序 第8步:试验一些其他命令 在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上.该应用使用Flask框架,并在Redis中维护一个点击计数器.虽然样本使用了Py

  • 部署ASP.NET Core程序到Linux系统

    目录 一.前言 二.安装运行时环境 1.在线安装 2.离线包安装 三.上传文件 四.部署 1.使用Kestrel启动 2.使用Nginx作为反向代理 一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例进行讲解. 二.安装运行时环境 1.在线安装 我们只是在Linux系统上面部署应用程序,所以只需要安装ASP.NET Core Runtime即可.在

  • 部署ASP.NET Core程序到Windows系统

    目录 一.创建项目 二.发布项目 1.框架依赖 2.独立部署 三.部署 1.配置部署环境 2.控制台方式部署 3.部署到IIS 4.独立部署 一.创建项目 本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上.这里以ASP.NET Core WebApi为例进行讲解.首先创建一个ASP.NET Core WebApi项目,使用默认的Values控制器,这里使用Visual Studio 2019创建一个ASP.NET Core 3.1d的WebApi项目. 创建新

  • 基于Python中单例模式的几种实现方式及优化详解

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪

  • Python第三方库的几种安装方式(小结)

    对于python开发用户而言,经常需要安装一些python的第三方库,但是第三方库的安装经常出错,以下给大家介绍一下python安装第三方库的几种常用方式: pip安装 无论是Windows.Linux还是Mac,都可以通过pip这个包管理工具来安装第三方库.最简单的安装方式就是: pip install requests pip默认是通过国外的源进行下载,速度太慢,且经常容易报错:因此推荐大家几个国内常用的安装源: 新版ubuntu要求使用https源,要注意. 清华:https://pypi

  • Python之变量类型和if判断方式

    Python基础 1.数据类型(举几个最常用的) 整数型(int),可以理解为不带小数点的数字,比如13,-456等 浮点型(float) ,带小数点的数字,比如456.13,-798.13等 字符串(string),用'',"",''' '''或者""" """包裹的任意文本,比如'132',"abc"等, 如果输入的文本中包括''或者""需要在前面加\转义,比如'i\'m ok'这样

随机推荐