有一种C#命令行console程序,为了能看到console台的输出所以不能做成服务。为了防止这些程序自己死掉,使用powershell监控程序并重启

#利用程序名来进行重启
if (!(get-process | where-object {$_.mainwindowtitle -eq '管理员:  "tsiphone"'}))
{ cd C:\lengshan
  C:\lengshan\tsiphone.bat }

#如果是在命令行参数里面执行的话,那就应该适应 gwmic 来获得comandline的内容来进行区分了
#因为正常情况下,get-process的操作是没有comandline这个属性的

if (!(Get-WmiObject win32_process | where {$_.CommandLine -eq "`"C:\php\php.exe`"  `"C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\deamon\igetui_deamon.php`""}))

{ cmd /c start "" "C:\lengshan\tsgetui.bat"  }
  
#将命令行做成bat,之后利用powershell判断进程是否存在,不存在的话,先结束对应的cmd进程,之后再利用start开启新的cmd窗口来启动php进程
if (!(Get-WmiObject win32_process | where {$_.CommandLine -eq "`"c:\php\php.exe`"  `"C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\deamon\apns_deamon.php`""}))
{ get-process cmd |where {$_.MainWindowTitle -eq "管理员:  `"tsiphone`""} | stop-process
  cmd /c start "" "C:\lengshan\tsiphone.bat"}

使用powershell监控命令行console程序并在停止时启动的更多相关文章

  1. 使用.NET Core快速开发一个较正规的命令行应用程序

    程序员的世界,命令行工具一直是"体验非常友好"的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本).在.NET Core中,命令行应用程序是基础,但 ...

  2. 体验.NET Core 命令行应用程序-CommandLineUtils

    前言 在我们开发中可能需要设计一次性应用程序,这些实用程序可以利用接近原始源代码的优势,但可以在与主Web应用程序完全独立的安全性上下文中启动.具体在 [管理过程](https://12factor. ...

  3. Linux命令行上程序执行的那一刹那!

    转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com> ...

  4. PowerShell并发控制-命令行参数之四问

    传教士问: win下如何 获取进程命令行,及命令行参数? 传教士答: 可以用这个powershell命令(实际上是wmi查询): (get-wmiobject -query "select ...

  5. Scoop Windows 的命令行安装程序管理工具

    传送门: # 官网 http://scoop.sh/ # github https://github.com/lukesampson/scoop window中快速安装: 必须使用powershell ...

  6. 通过dotnet命令行设置asp.net core服务的启动地址

    需求: 通过dotnet命令行启动asp.net core 服务时,自定义监听端口. 方法: 在program.cs中增加命令行参数配置: WebHost.CreateDefaultBuilder(a ...

  7. Cmd使用方式--命令行运行程序

    工具用惯却不知道如何去描述什么用,总感觉自己学东西用东西零零散散不系统,心虚!下面总结下自己使用cmd的几种方式. 1 => cmd,command,是window系统下命令提示符,是一种com ...

  8. java打包/命令行方式运行jar(命令行进行程序测试)

    public class Testtmp { public static void main(String[] args) { // TODO Auto-generated method stub f ...

  9. PowerShell或命令行运行javac xx.java提示“编码GBK的不可映射字符”

    由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内 ...

随机推荐

  1. 【JavaScript】深入分析JavaScript的关系运算和if语句

    JavaScript的关系运算,没有我原想的那么简单.等终于理清它的运算逻辑之后,我的头大了至少一圈.而if语句的真假判定逻辑本身不难,但要把它和关系运算联系起来,相信你会和我一样,到达崩溃边缘.不信 ...

  2. Java基础知识强化89:Date类之Data类概述及其方法

    1. Date类概述 类Date表示特定的瞬间,精确到毫秒 2. 构造方法 public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创 ...

  3. SQLServer 工具技巧

    SQLServerProfiler 的使用 http://www.jikexueyuan.com/course/1712.html

  4. linux系统中中断已连接的用户

    1.用w命令查看当前系统登录的用户 [root@rhel7 ~]# w :: up :, users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOG ...

  5. C#之Linq学习笔记【转】

    写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...

  6. (转)Repeater在无数据记录时显示暂无数据

    方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <FooterTemplate>     <asp: ...

  7. BetWeen和模糊查询

    --区分大小写性能比较低select * from Students where Age >1 and Age <4select * from Students where Age bet ...

  8. js 定义函数的几种方法 以及如何调用

    /*1.方法调用模式: 先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象.*/ var car = { carId ...

  9. iptables 下开放ftp

    这两天在给客户安装服务器时也顺便给他们使用iptables,不用不知道,一用才发现iptables还有很多东西可以学的,比如开放ftp.iptables 的filter表的INPUT链的默认策略设为了 ...

  10. (七)Angularjs - 控制器

    控制器的作用 没有控制器/controller,我们没有地方定义业务模型 比如:ng-init指令.我们可以使用ng-init指令在scope对象上定义数据 <div ng-init=" ...