精华内容
下载资源
问答
  • cmd多线程执行

    千次阅读 2017-10-25 10:55:38
    通常会遇到 大批量命令执行,单进程时间成本太高。以下内容可以使让每条命令启动单独的cmd进程执行,上K条命令大概也就半个小时执行完成 脚本用excel 很容易编辑,穿插命令。以下命令是为指定的主机安装防病毒软件。

    通常会遇到 大批量命令执行,单进程时间成本太高。以下内容可以使让每条命令启动单独的cmd进程执行,上K条命令大概也就半个小时执行完成

    脚本用excel 很容易编辑,穿插命令。以下命令是为指定的主机安装防病毒软件。


    start 用来启动一个应用
    cmd /k 表示cmd后面的命令执行完后不关闭窗口。如果要在执行完成后关闭窗口可以用/c 。详细请使用cmd/?查看

     “  ” ,内的命令就是需要大批量执行的命令,可以根据需要替换。

    ping  /n 10 用来控制延时每个命令之间延时10s。


    可以将以下样例保存为     *.bat    文件,执行该文件时 每条start 命令都会单独启动一个进程来执行cmd命令的内容,每条start命令互不影响,任意一条命令卡死不会影响后续命令的执行。



    @echo off

    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DAM2230 -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DESKTOP-8NF1MDO -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DESKTOP-9JBT7SF -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DESKTOP-RK431IL -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DFSKPC0015 -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DGX0001 -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DGX0089 -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DGX0097 -c d:\swapfile.sys.exe"
    ping www.baidu.com /n 10
    start cmd /c "D:\2.1AntiVirus\setup.exe\手工安装\psexec.exe \\DGX0098 -c d:\swapfile.sys.exe"


    展开全文
  • 管道多线程中文CMD

    2012-03-17 15:47:07
    1代码简单易懂 2初学者可以研究学习匿名管道和多线程的例子 3也可当做中文CMD来应用
  • JAVA多线程执行cmd命令

    千次阅读 2017-07-12 10:55:35
    System.out.println(cmd.readCmd()); //LinkedList<String> list = new LinkedList(); //list.add("dir/b"); //list = cmd.doCmd(list); //for(String s:list){ //System.out.print(s); } public...
    package com.dtt.scm;
    
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.util.LinkedList;
    public class Command extends Thread{
     private java.lang.Process p; 
     private InputStream is;
     private OutputStream os;
     private BufferedWriter bw;
     private BufferedReader br;
     private ProcessBuilder pb;
     private InputStream stdErr;
     public Command() {
     }
    
    
     //获取Process的输入,输出流
     public void setCmd(String cmd) {
      try {
       p = Runtime.getRuntime().exec(cmd);
       os = p.getOutputStream();
       is = p.getInputStream();
       stdErr = p.getErrorStream();
      } catch (IOException e) {
       System.err.println(e.getMessage());
      }
     }
     //向Process输出命令
     public void writeCmd(String cmd) {
      try {
       bw = new BufferedWriter(new OutputStreamWriter(os));
       bw.write(cmd);
       bw.newLine();
       bw.flush();
       bw.close();
      } catch (Exception e) {
       e.printStackTrace();
      }
     }
     //读出Process执行的结果
     public String readCmd() {
      StringBuffer sb = new StringBuffer();
      br = new BufferedReader(new InputStreamReader(is));
      String buffer = null;
      try {
       while ((buffer = br.readLine()) != null) {
        sb.append(buffer + "\n");
       }
       System.out.println(p.waitFor());
      } catch (Exception e) {
       e.printStackTrace();
      }
      return sb.toString();
     }
     //将命令一股脑塞入list中
     public LinkedList<String> doCmd(LinkedList<String> lists) {
      LinkedList<String> list = new LinkedList<String>();
      for (String s : lists) {
       writeCmd(s);
       list.add(readCmd());
      }
      return list;
     }
     public void run(){
        Command cmd = new Command();
        cmd.setCmd("cmd");
        cmd.writeCmd("start cmd /k ping -a -t 43.248.133.79 -l 1000");
        System.out.println(cmd.readCmd());
        //LinkedList<String> list = new LinkedList<String>();
        //list.add("dir/b");
        //list = cmd.doCmd(list);
        //for(String s:list){
        //System.out.print(s);
     }
        public static void main(String[] args) {
            Thread thr1 = new Command();
            Thread thr2 = new Command();
            thr1.start();
            thr2.start();
        }
    }
    
    展开全文
  • CMD IO 阻塞问题 (多线程) 解决

    千次阅读 2010-04-10 12:48:00
    ////////////////////////////////////////////////////////////////////// // child.c // two threads and they are competing the console io ! // when u try input, the output thread

     

     

     

    展开全文
  • 问题描述:接口访问启动cmd再执行命令,每个cmd命令一直在运行的 例如:ping 192.168.1.122 -t 1、Task的简单使用 Task task1=Task.Run(() => openCmd();//openCmd是需要运行的方法 2、解决一直访问接口,...

    问题描述:接口访问启动多个cmd再执行命令,每个cmd命令一直在运行的

    例如:ping 192.168.1.122 -t
    1、Task的简单使用

    Task task1=Task.Run(() => openCmd();//openCmd是需要运行的方法
    

    2、解决一直访问接口,一直开启新线程,
    (1)定义固定数量的线程

            public static Task task1;
            public static Task task2;
            public static Task task3;
            public static Task[] taskT=new Task[] {task1,task2, task3};
    

    (2)循环访问开启线程,判断是否第一次执行,如果是就开启线程,否就判断线程是否执行完成,如果完成就再次开启这个线程

     for (int i = 0; i < 3; i++)
                    {
                        int ip = i + 2;
                        string inputstr = "cmd.exe";
                        string strffpeg="ping 192.168.1.122 -t";
                        //判断是否第一次启动
                        if (taskT[i] != null)
                        {
                            //判读线程是否完成,或者等于null//完成就重新启动
                            if (taskT[i].Status == TaskStatus.RanToCompletion)
                            {
                                taskT[i] = Task.Run(() => OpenCMD(inputstr, strffpeg));
                            }
                        }
                        else
                        {
                            taskT[i] = Task.Run(() => OpenCMD(inputstr, strffpeg));
                        }
                    }
    

    3、openCmd
    参考:https://blog.csdn.net/chunTF/article/details/103866368?utm_medium=distribute.pc_relevant_bbs_down.none-task–2allfirst_rank_v2rank_v29-5.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task–2allfirst_rank_v2rank_v29-5.nonecase

    展开全文
  • 多线程代码

    2016-08-03 22:20:29
    一个多线程的cpp代码统计工具,在win10+vs2010上实现,可以在cmd窗口中输入类似“Codestatistics.exe c:”的命令运行,运行结果显示在控制上。工程分两个主要模块,多线程递归所以当前目录下的所有cpp文件,之后进行...
  • 在java项目开发中,主项目是以服务器(如Tomcat)启动,但是想要再创建一个接口或者线程项目以辅助主项目的运行,那么这些辅助项目以什么方式运行呢? 当然,不可能也为此耗费一个服务器。解决的办法是:可以在cmd...
  • 多线程爬虫

    千次阅读 2019-01-16 22:32:20
    多线程爬虫 全局解释器锁GIL 控制着Python的线程能否得到CPU的计算资源,正是这个锁来控制同一时刻只有一个线程能够运行。 多线程的编码方式可以分为两种:第一种是面向对象式编程,第二种是面向函数式编程。 队列的...
  • Python多线程

    万次阅读 2020-05-28 19:47:47
    Python多线程浏览 1、开发环境 Python版本 需要手动安装的库 2、源代码 3、使用方法 重要!!!使用前必看 后续会上传可执行文件(.exe)以便没有安装开发环境的小伙伴使用。 1、开发环境 Python版本 使用Python3.8...
  • python 多进程和多线程

    千次阅读 2020-07-03 20:38:18
    本文通过一些具体的例子简单介绍一下python的多线程和多进程,后续会写一些进程通信和线程通信的一些文章。 python多线程 python中提供两个标准库thread和threading用于对线程的支持,python3中已放弃对前者的支持...
  • 使用python多线程下载在线视频,然后进行视频合并。 需要事先取得在线视频地址或m3u8文件地址,运行后输入,会自动建立临时文件夹,等视频文件全部下载完后,会生成cmd文件,运行会进行视频,需要使用ffmpeg。
  • 多线程指定ip端口扫描,cmd下用法规则:hyscan IP 起始端口 结束端口 [线程数(默认线程为200)
  • 批处理的多线程

    千次阅读 2012-04-12 10:05:05
    比如1.bat要同时启动多个2.bat命令,而2.bat需要多线程执行,启动命令如下: (1.bat的内容:) start /min cmd /c 2.bat start /min cmd /c 2.bat start /min cmd /c 2.bat ...
  • C#Socket多线程聊天WPF图形界面。 分客户端和服务器端,可以局域网内通信,ip地址通过cmd命令ipconfig/all可以获取。
  • 线程池是Java中多线程的一个重要概念,因为通过Thread模型来控制多线程是非常麻烦以及易错的一个过程。过多的释放线程会造成线程调度的变慢以及过度的消耗内存。而频繁的创建线程,也没有很好的复用线程,所以有了...
  • python 如何设置多线程

    千次阅读 2017-07-18 15:46:00
    进程的思路类似,我们也可以实现对线程的创建,在Python中,使用threading包实现。参数如下: 构造方法: Thread(group=None, target=None, name=None, args=(), kwargs={}) group: 线程组,目前还没有实现,...
  • 多线程编程技术

    千次阅读 2013-11-11 02:22:27
    多线程编程技术 线程是比进程更小的单位...据说以前的 400 版本并不支持真正的多线程技术,在 4.2版后才从内核上提供了对多线程的支持。总之写这份文档的时候,绝大部分版本应该可以支持。 主要资料来源于 IBM信息
  • DSP多线程

    千次阅读 2012-02-20 18:32:14
    关于DSP多线程技术问题的认识 为了让DSP能够同时处理多个任务,DSP/BIOS提供了如下几种类型的线程。 HWI(硬件中断),SWI(软件中断),TSK(任务),IDL(空闲线程)。 HWI其实就是中断服务。当硬件中断产生之后,DSP/...
  • 多线程

    千次阅读 2017-10-23 11:29:23
    在一个应用程序中使用并发的第一种方法,是将应用程序分为个、独立的、单线程的进程,它们运行在同一时刻,就像你可以同时进行网页浏览和文字处理。这些独立的进程可以通过所有的常规的进程间通信渠道互相传递消...
  • Java多线程代码编写

    千次阅读 2019-08-19 14:27:58
    Java多线程代码编写 什么是多线程 并发和并行  并行:指两个或多个时间在同一时刻发生(同时发生);  并发:指两个或多个事件在一个时间段内发生。 在操作系统中,安装了多个程序,并发指的是在一段时间内...
  • C语言多任务,多进程,多线程

    千次阅读 2018-04-03 15:44:08
    Linux就是一种支持多任务的操作系统,它支持多进程、多线程等多任务处理和任务之间的多种通信机制。Linux下多任务机制的介绍多任务处理是指用户在同一时间内运行多个应用程序,每个应用程序被称做一个任务。Linux...
  • * <p>Description: 本实例使用多线程实现多服务功能。 * <p>Copyright: Copyright (c) 2003 * <p>Filename: * @author 杜江 * @version 1.0 */ class moreServer { public static void main (String [] args...
  • Perl 多进程与多线程编程

    万次阅读 2015-11-09 22:51:43
    PERL 多进程与多线程编程能大大加快程序执行效率(将一个任务分割成若干小任务并行处理)。要进行多进程和多线程编程则分别需要两个模块, fork()和Threads,然而fork()则为PERL内置函数,因此,只需安装Threads...
  • 多线程 目录 进程 进程的了解 线程 什么是线程 线程的组成 线程的创建 线程的状态 线程的方法 线程的安全问题 1.进程 1.1.进程的了解 简单的来说进程就是运行中的程序,简称为进程。 单核CPU在任意一个时间节点上,...
  • Linux gdb调试多线程

    千次阅读 2013-08-03 09:03:09
    linux gdb 调试多线程 单独调试线程 http://coolshell.cn/articles/3643.html 一、多线程调试 多线程调试可能是问得最多的。其实,重要就是下面几个命令: info thread 查看当前进程的线程。 thread...
  • http://blog.csdn.net/leishiwei/article/details/4009253  VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd) C 运行时库 库文件 Single thread(static link) ML libc
  • make的多线程编译

    万次阅读 2018-11-08 11:00:14
    因为CPU是一个影响编译速度的重要因素,所以make -j带上一个参数,可以把项目在进行中的并行编译,现在服务器上的CPU差不多都是多核多线程的,所以完全可以用make -j4,让make最多允许4个编译进程同时执行,这样可以...
  • python多线程带返回值案例

    千次阅读 2018-10-31 16:17:16
    因报告是成批下来,每批几百例需要转换,为了加快报告生成效率,python里采用了多线程写法。笔者语言是java,所以利用了**Runtime.getRuntime().exec(cmd)**进行调用。 环境:jdk8, python 2.7, idea CODE import...
  • 线程是什么?要理解这个概念,须要先了解一下操作系统的一些相关概念。大部分操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,790
精华内容 29,516
关键字:

cmd多线程