Processクラスを利用し、プロセスを作成、実行結果を取得する。
ポイント1、WaitForExit() サブプロセス実行完了まで、親プロセスを止まらせる。
ポイント2、ExitCodeプロパティより、サブプロセスの実行結果を取得。
ポイント3、戻り値を付けられる Main で戻り値を返す。
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace RmsUpdate
{
class RmsUpdate
{
static int Main(string[] args)
{
string strBatPath = "setup.bat";
Process pro = new Process();
int exitCode = 0;
try
{
pro.StartInfo.UseShellExecute = true;
pro.StartInfo.FileName = strBatPath;
pro.StartInfo.CreateNoWindow = true;
pro.Start();
pro.WaitForExit();
exitCode = pro.ExitCode;
}
catch (Exception)
{
exitCode = 1;
}
finally
{
if (pro != null)
{
pro.Close();
pro.Dispose();
}
}
return exitCode;
}
}
}
分享到:
相关推荐
利用WaitForSingleObject等待句柄失效。 用精易模块的 进程_打开1(进程Id)可以得到进程句柄。 然后调用 WaitForSingleObject(进程句柄,等待时间) 等待时间 如果是-1就是无限等待。
操作系统实验,压缩包中包括Linux和windows进程控制源代码及实验报告。 进程控制实验题目: ...• 使用wait()等待新创建的进程结束 • 调用gettimeofday()来获取时间 mytime的用法: $ mytime.exe program1
// 父进程等待5秒 kill(pid1,SIGUSR1); // 杀死进程1 kill(pid2,SIGUSR2); // 杀死进程2 wait(0); wait(0); printf("\n Parent process is killed !!\n"); exit(0); ...
1) 创建10个进程的PCB,每个PCB包括:进程名、进程状态、优先级(1~10)、需要在处理机上执行的时间(ms)、队列指针等; 2) 初始化10个PCB(产生随机数0或1,分别表示进程处于就绪态或等待态); 3) 根据调度...
在Windows下实现: 使用CreateProcess()来创建进程 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步 调用GetSystemTime()来获取时间 ...使用wait()等待新创建的进程结束 调用gettimeofday()来获取时间
设计并实现 Unix 的 “time” 命令。 “mytime” 命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的...•使用 wait() 等待新创建的进程结束 •调用 gettimeofday() 来获取时间
操作系统实验,压缩包中包括Linux和windows进程控制源代码及实验报告。 进程控制实验题目: ...• 使用wait()等待新创建的进程结束 • 调用gettimeofday()来获取时间 mytime的用法: $ mytime.exe program1
设计并实现Unix的"time”命令...使用wait()等待新创建的进程结束 调用gettimeofday()来获取时间 mytime的用法: $ mytime.exe program1 $ mytime.exe program2 t t为时间参数 显示结果: **小时**分**秒**毫秒**微秒
本模拟程序实现对n个进程根据优先权的高低调度的模拟,创建进程描述符PCB,进程的优先权在运行过程中动态改变,每个时间片结束后显示当前各进程的状态。具体要求如下: 用C语言来实现对n个进程采用不同调度算法的...
在父进程中调用wait(),则父进程被阻塞,进入等待队列,等待子进程结束。当子进程结束时,父进程从wait()返回继续执行原来的程序。 返回值:大于0时,为子进程的ID值;等于-1时,调用失败。 3) exit() 是进程结束时...
等待后台进程结束:如果需要等待后台进程执行完成,可以调用后台进程对象的join()方法。该方法会阻塞主线程,直到后台进程执行完毕。 通过以上步骤,可以在Python中创建一个后台进程并在后台执行指定的任务。在实际...
在父进程中生成两个子进程,一个子进程运行程序read,另一个子进程运行程序write,父进程以阻塞方式等待两个子进程结束,在两个子进程都结束后显示结束信息。read程序的功能是创建一个管道,从管道读取10个数字并...
使用WIN32 API 实现: 父进程: 创建无名管道及子进程,子进程继承父进程的句柄 从管道读取子进程写入的字符串 并...等待子进程结束,之后,父进程结束 子进程: 继承父进程的管道 向管道中写入一个字符串 子进程结束
1) 创建10个进程的PCB,每个PCB包括:进程名、进程状态、优先级、队列指针等; 2) 初始化10个PCB(产生随机数0或1,分别表示进程处于就绪态或等待态); 3) 根据调度算法选择一个就绪进程在CPU上执行; 4) 在...
然后再编写一个程序,模拟 shell 程序的功能,能根据用户输 入的字符串(表示相应的命令名),去为相应的命令创建子进程并让它去执行相应的程序,而父进程则等待子进程结束,然后再等待接收下一条命令。如果接收到的...
设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立...• 使用wait()等待新创建的进程结束 • 调用gettimeofday()来获取时间 mytime的用法: $ mytime.exe program1
进程结束 C.进程阻塞(等待) D.新进程创建 17.下列的进程状态变化中不可能发生的变化就是___A___。 A.等待 运行 B.运行 等待 C.运行 就绪 D.等待 就绪 18.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入...
创建一个进程,由子进程调用命令 ls,父进程等待子进程结束后 退出,并以特定方式显示输出。
当文件读写完毕,操作系统会将其切换成就绪态,等待进程调度算法来调度该进程执行…… 本实验内容包括: 基于模板 process.c 编写多进程的样本程序,实现如下功能: 所有子进程都并行执行,每个子进程的实际运行时间...
2)进程的软中断通信使用系统调用fork()创建两个子进程,使用系统调用signal()让父进程捕捉用alarm函数设置时钟的时间段终止时产生的信号,当捕捉到该信号后,父进程使用系统调用Kill()向两个子进程发出信号,子...