/// <summary>
/// 杀死进程
/// </summary>
private void KillProcesses()
{
var cfn = GetAppsettingStr("checkin-filefolder-name");
var ofn = GetAppsettingStr("outmoney-filefolder-name");
var ifn = GetAppsettingStr("inmoney-filefolder-name");
foreach (var p in Process.GetProcesses())
{
if (p.ProcessName == cfn || p.ProcessName == ofn || p.ProcessName == ifn)
{
p.Kill();
}
}
} /// <summary>
/// 启动进程
/// </summary>
private void StartProcesses()
{
var list = new List<string>();
var cfn = GetAppsettingStr("checkin-filefolder") + GetAppsettingStr("checkin-filefolder-name");
var ofn = GetAppsettingStr("outmoney-filefolder") + GetAppsettingStr("outmoney-filefolder-name");
var ifn = GetAppsettingStr("inmoney-filefolder") + GetAppsettingStr("inmoney-filefolder-name");
list.Add(ofn);
list.Add(ifn);
list.Add(cfn); foreach (var li in list)
{
Process.Start(li + ".exe");
}
}

再加上从app.config 文件里获取数据

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="StartUpgrade.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<appSettings>
<!-- checkin 文件夹和文件名 -->
<add key="checkin-filefolder" value="D:\NotePad++\"/>
<add key="checkin-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 出钞 文件夹和文件名 -->
<add key="outmoney-filefolder" value="D:\NotePad++\"/>
<add key="outmoney-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 入钞 文件夹和文件名 -->
<add key="inmoney-filefolder" value="D:\NotePad++\"/>
<add key="inmoney-filefolder-name" value="npp.6.1.3.Installer"/> <!-- 字节数组 -->
<add key="bytearrary" value="10240"/>
<add key="upload-path" value="E:\Projects\Hotels\StartUpgrade\StartUpgrade\File\"/>
<add key="upload-url" value="http://192.168.1.200:8077/UpgradeFiles/"/> <!-- 机器id -->
<add key="machineid" value="888"/>
</appSettings>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<StartUpgrade.Properties.Settings>
<setting name="StartUpgrade_IStartUpgrade_UpgradeFile" serializeAs="String">
<value>http://192.168.1.155:8013/DataService/WebService/Interface/UpgradeFile.asmx</value>
</setting>
</StartUpgrade.Properties.Settings>
</applicationSettings> </configuration>

是这样获取app.config数据的:

        /// <summary>
/// 获取配置文件里appsettings的数据
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string GetAppsettingStr(string str)
{
var appReader = new AppSettingsReader();
return appReader.GetValue(str, typeof(string)).ToString();
}

C# 启动进程和杀死进程的更多相关文章

  1. Linux如何查看进程、杀死进程、启动进程等常用命令

    Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括 ...

  2. Window通过cmd查看端口占用、相应进程、杀死进程

       在windows下启动程序时候经常出现端口占用, 修改本程序端口是一种解决思路,但是更多时候希望直接杀掉占用端口的程序: 一. 查看所有进程占用的端口 在开始-运行-cmd,输入: netsta ...

  3. Window 通过cmd查看端口占用、相应进程、杀死进程等的命令【转】

    一. 查看所有进程占用的端口  在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序  当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知 ...

  4. lsof根据端口返回进程号杀死进程的方法

    参考自:http://newmiracle.cn/?p=661 Linux shell根据端口返回进程号杀死进程的方法 kill -9 `lsof -t -i:8888` 这个就是杀死8888端口的进 ...

  5. 【转】Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

    转自:http://blog.csdn.net/jiangwei0910410003/article/details/18967441 一. 查看所有进程占用的端口  在开始-运行-cmd,输入:ne ...

  6. linux shell根据端口返回进程号杀死进程的方法

    linux shell根据端口返回进程号杀死进程的方法<pre>kill `lsof -t -i:9501`</pre>这个就是杀死9501端口的进程号

  7. linux下查看当前进程以及杀死进程

    ###linux下查看当前进程以及杀死进程 查看进程 ps命令查找与进程相关的PID号: ps a :显示现行终端机下的所有程序,包括其他用户的程序. ps -A :显示所有程序. ps c :列出程 ...

  8. CentOS查看进程、杀死进程、启动进程等常用命令

    关键字: linux 查进程.杀进程.起进程 1.查进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序.     ps -A 显示所有程 ...

  9. Linux如何查看进程、杀死进程、启动进程

    1.查看进程:ps命令 下面的命令还没实践,仅仅供你参考:可以用man ps查看格式,只不过是一个小工具而已! ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程 ...

随机推荐

  1. iptables配置说明

    1.iptables的发展:  对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测.iptables是网络层的防火墙.   iptables的前身叫 ...

  2. MyBatis6:MyBatis集成Spring事务管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事务管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事务的做法,本文的目的是在这个的基 ...

  3. 关于python使用list出现乱码的解决

    昨天在敲python的一个小实例的时候,用到了readlines()这个函数,但是将文件读出来的时候是乱码,也并不是完全乱码,只是中文出现了乱码,数字还是显示正常的,同时也不报错.源码以及文件截图如下 ...

  4. 【推理】UVa 10771 - Barbarian tribes

      Barbarian tribes  In a lost land two primitive tribes coexist: Gareds and Kekas. Every summer sols ...

  5. asp发布至IIS

    最近做的一个任务是使用asp写的,显示的是数据库的报表,但是将报表当前目录发布至IIS后,发现还是运行不了 Set conn = Server.CreateObject("ADODB.Con ...

  6. 收藏2个mongodb connector网址

    https://github.com/plaa/mongo-spark https://github.com/mongodb/mongo-hadoop http://codeforhire.com/2 ...

  7. SQL 拼接多个字段的值&一个字段多条记录的拼接 [轉]

    例如student表: studentID studentName studentScore 01 Alice 90 02 Bill 95 03 Cindy 100 一.拼接多个字段的值 select ...

  8. Oracle 递归函数与拼接

    ) name FROM table tb START ) CONNECT BY PRIOR ID=mt.parentid ; 在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以 ...

  9. ### CUDA

    CUDA Learning. #@author: gr #@date: 2014-04-06 #@email: forgerui@gmail.com 1. Introduction CPU和GPU的区 ...

  10. C#break、continue、return、goto

    1.break break语句会使运行的程序立即退出包含在其中的最内层循环(结束此次循环且结束该循环控制体)或者switch语句 ; ; j < ; j++) { i++; )break; Co ...