Supervisor的作用与配置

Supervisor的作用与配置
supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可执行文件的路径添加到supervisor的配置文件中就好了。此时被管理进程被视为supervisor的子进程,若该子进程异常中断,则父进程可以准确的获取子进程异常中断的信息,通过在配置文件中设置autostart=ture,可以实现对异常中断的子进程的自动重启。 安装supervisor $ sudo apt-g...

Linux下去掉^M的方法

Linux下去掉^M的方法
第一种方法:cat-Afilename就可以看到Windows下的断元字符^M要去除他,最简单用下面的命令:dos2unixfilename 第二种方法:sed-i's/^M//g'filename#注意:^M的输入方式是Ctrl+v,然后Ctrl+M 第三种方法:#vifilename:1,$s/^M//g^M输入方法

curl命令小记

curl命令小记
curl -x 192.168.33.15:8080 -H "cache_control:no-cache" \ http://120.132.42.189:8090/mp4/test.mp4 -o test.mp4 --progress o:指定文件写入 progress:显示进度百分比 代理设置 wget -e "http_proxy=porxyhost:port" www.baidu.com curl -x proxyhost:port www.baidu.com 如果需要用户名密码,格式 curl -x "http://user:pwd@host:port" www.baidu.com 在Linux的命令行底下,一般的程序都是使用http_pro...

Netmap分析(六)

Netmap分析(六)
netmap.c NIOCTXSYNC和NIOCRXSYNC 这两个使用相同的代码,同步ring case NIOCTXSYNC: case NIOCRXSYNC: nifp = priv->np_nifp; if (nifp == NULL) { error = ENXIO; break; } mb(); /* make sure following reads are not from cache */ na = priv->np_na; /* we have a reference */ if (na == NULL) { D("Internal error: nifp != NULL && n...

Netmap分析(五)

Netmap分析(五)
实际设置netmap配置的函数 /* * possibly move the interface to netmap-mode. * If success it returns a pointer to netmap_if, otherwise NULL. * This must be called with NMG_LOCK held. * * The following na callbacks are called in the process: * * na->nm_config() [by netmap_update_config] * (get current number and size of rings) * * We have a generic one...

Netmap分析(四)

Netmap分析(四)
netmap.c NIOCGINFO 用于返回netmap的基本信息 case NIOCGINFO: /* return capabilities etc */ if (nmr->nr_cmd == NETMAP_BDG_LIST) { error = netmap_bdg_ctl(nmr, NULL); break; } NMG_LOCK(); do { /* memsize is always valid */ struct netmap_mem_d *nmd = &nm_mem; u_int memflags; if (nmr->nr_name[0] != '\0') { /* get a refco...

Netmap分析(三)

Netmap分析(三)
Netmap_linux.c 两个重要的结构 struct miscdevice netmap_cdevsw = { /* same name as FreeBSD */ MISC_DYNAMIC_MINOR, "netmap", &netmap_fops, }; static struct file_operations netmap_fops = { .owner = THIS_MODULE, .open = linux_netmap_open, //malloc the private_data from memory .mmap = linux_netmap_mmap, //设置netmap内存映射...

Netmap分析(二)

Netmap分析(二)
netmap_linux.c: //初始化netmap static int linux_netmap_init(void) { int err; /* Errors have negative values on linux. */ /* 申请netmap的各个内存池,包括netmap_if,netmap_ring,netmap_buf以及内存池的管理结构 */ err = -netmap_init(); //netmap.c if (err) { return err; } /* * 驱动注册程序 * * Returns 0 on success, negative on failure */ err = nm_os_pt_memde...

Netmap分析(一)

Netmap分析(一)
工作原理 Netmap是基于零拷贝思想的高速网络I/O架构,它能够在千兆或万兆网卡上达到网卡的线速收发包速率。并且能够有效地节省cpu等计算机资源。 零拷贝(zero-copy)是指主机、路由器等设备与网卡交互时,CPU不需要将数据从和个内存区域拷贝到另一个内存区域。零拷贝通过减少数据拷贝或共享总线操作次数,消除通信数据的不必要的拷贝过程,能够有效地提高通信效率、节省存储空间和处理时间。因此,零拷贝技...

比特币源码研读(二)之搭环境遇到的那些坑

比特币源码研读(二)之搭环境遇到的那些坑
首先说一下度《精通比特币》是一直不理解的一个地方: 上面两处被圈起来的地方都提到了一个数字2256,特别是第一句话更是让人费解,如果私钥只能在1到2256间产生那岂不是太容易重复了。关于这点,我认为是在翻译或者排版是出现了错误,2256应该是想表达2的256次方的意思。后续翻看其它资料是也证实了我的想法。 现在说说搭环境遇到的问题. 一、源的问题 我是在docker下进行的源码安装,使用官方...
Copyright © 九毛的官方博客 保留所有权利.   Theme  Ality

用户登录