澳门至尊网站-首页

您的位置:澳门至尊网站 > 免费资源 > Linux图解教程,中选拔aria2c进行下载并出示进程条

Linux图解教程,中选拔aria2c进行下载并出示进程条

2019-11-03 22:41

【转自】

十分重要步骤:

1 编译linux-2.6.14.tar.bz2,基于smdk2410_defconfig

2 编译skyeye-1.2.4_Rel.tar.gz

3 编写翻译busybox-1.19.2.tar.bz2,用于创设initrd.img文件

4 制作initrd.img文件

5 用skyeye模拟运营

6 在arm-linux里运转大家谐和的次第

C#中动用aria2c举办下载并展示进程条 - 云平台知识库 - 天涯论坛

文本思谋:

linux-2.6.14.tar.bz2 下载地址:

arm-linux-gcc-3.4.1.tar.bz2 http://www.linuxidc.com/Linux/2010-07/26990.htm

gcc4.1(富含文件cpp-4.1_4.1.2-27Ubuntu1_i386.deb、g++-4.1_4.1.2-27ubuntu1_i386.deb、gcc-4.1_4.1.2-27ubuntu1_i386.deb、gcc-4.1-base_4.1.2-27ubuntu1_i386.deb、libstdc++6-4.1-dev_4.1.2-27ubuntu1_i386.deb)下载

busybox-1.19.2.tar.bz2
http://www.linuxidc.com/Linux/2011-08/40704.htm

skyeye-1.2.4_Rel.tar.gz 与cs8900.c、cs8900.h、dev_net_cs8900a.c下载见

无需付费下载地址在

客户名与密码都以www.linuxidc.com

切切实实下载目录在 /2011年资料/6月/30日/在SkyEye上运行ARM Linux图解教程/

 

 

详尽步骤:

正则表明式的生成网址:

1 编译linux-2.6.14.tar.bz2

将arm-linux-gcc-3.4.1.tar.bz2解压,将中间的arm目录移动到/usr/local下。

将linux-2.6.14.tar.bz2解压到专业目录。

下边编译linux:

1)修改Makefile,ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-

2)make smdk2410_defconfig

3卡塔 尔(阿拉伯语:قطر‎为内核增加cs87900网卡驱动以支撑NFS

图片 1

图片 2

图片 3

图片 4

图片 5

4)修改内核文件

图片 6

5卡塔尔国裁剪/定制内核

图片 7

makemenuconfig进度中只怕提醒需You must install ncurses-devel in order,解决办法是:apt-get install libncurses5-dev。

图片 8

6) 编译

Make,在linux顶目录生成vmlinux文件,那就是所急需的arm-linux内核。编写翻译结果如下:

图片 9

图片 10

 Aria2c下载地址:

封存的岗位:程序运营目录/Download

 

Program.cs

        static void Main(string[] args)
        {
            var url = "http://dldir1.qq.com/weixin/Windows/WeChatSetup.exe";
            if (url != "")
            {
                var fileName = url.Substring(url.LastIndexOf("/") + 1);
                var r = HttpDownLoad.DownloadFileByAria2(url, string.Format("{0}\Download\{1}", Directory.GetCurrentDirectory(), fileName));
                Console.WriteLine(r);
                Console.ReadLine();
            }
        }

 

 HttpDownLoad.cs

using System;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;

namespace ConsoleApplication2
{
    public class HttpDownLoad
    {
        /// <summary>
        /// 功能:使用Aria2c进行文件下载
        /// 作者:黄海
        /// 时间:2018-06-13
        /// </summary>
        /// <param name="url"></param>
        /// <param name="strFileName"></param>
        /// <returns></returns>
        public static bool DownloadFileByAria2(string url, string strFileName)
        {
            var tool = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\aria2-1.34.0-win-64bit-build1\aria2c.exe";
            var fi = new FileInfo(strFileName);
            var command = " -c -s 10 -x 10  --file-allocation=none --check-certificate=false -d " + fi.DirectoryName + " -o " + fi.Name + " " + url;
            using (var p = new Process())
            {
                RedirectExcuteProcess(p, tool, command, (s, e) => ShowInfo(url,e.Data));
            }
            return File.Exists(strFileName) && new FileInfo(strFileName).Length>0;
        }
        private static void ShowInfo(string url,string a)
        {
            if (a == null) return;

            const string re1 = ".*?"; // Non-greedy match on filler
            const string re2 = "(\(.*\))"; // Round Braces 1

            var r = new Regex(re1 + re2, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            var m = r.Match(a);
            if (m.Success)
            {
                var rbraces1 = m.Groups[1].ToString().Replace("(", "").Replace(")", "").Replace("%", "").Replace("s","0");
                if (rbraces1 == "OK")
                {
                    rbraces1 = "100";
                }
                Console.WriteLine(DateTime.Now.ToString().Replace("/","-")+"    "+url+"    下载进度:"+rbraces1+"%");
            }
        }

        /// <summary>
        /// 功能:重定向执行
        /// </summary>
        /// <param name="p"></param>
        /// <param name="exe"></param>
        /// <param name="arg"></param>
        /// <param name="output"></param>
        private static void RedirectExcuteProcess(Process p, string exe, string arg, DataReceivedEventHandler output)
        {
            p.StartInfo.FileName = exe;
            p.StartInfo.Arguments = arg;

            p.StartInfo.UseShellExecute = false;    //输出信息重定向
            p.StartInfo.CreateNoWindow = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.RedirectStandardOutput = true;

            p.OutputDataReceived += output;
            p.ErrorDataReceived += output;

            p.Start();                    //启动线程
            p.BeginOutputReadLine();
            p.BeginErrorReadLine();
            p.WaitForExit();            //等待进程结束
        }
    }
}

 

本文由澳门至尊网站发布于免费资源,转载请注明出处:Linux图解教程,中选拔aria2c进行下载并出示进程条

关键词: