shell pipe-vmstat n 管道至 curl

问题描述

vmstat n 管道至 curl
使用 vmstat n命令每间隔n秒不间断的输出系统状态.
而目前想把每次输出状态立即通过curl POST到一个url上.
是否可以通过管道完成?

解决方案

You can use the -d option in curl with a @- argument to accept input from a pipe.

http://serverfault.com/questions/313599/how-do-i-pipe-the-output-of-uptime-df-to-curl

时间: 2024-09-20 00:23:10

shell pipe-vmstat n 管道至 curl的相关文章

Python中使用PIPE操作Linux管道_python

Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等.其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式.管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写:另外,管道只能用来在具有公共祖先的两个进程之间通信.管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要. Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别为读端和写端.单个进程中的管道几乎没有

管道 PIPE

没错,就讲大家可能天天会用的"管道 | ",前者的输出是后者的输入.这里简单要提一点大家可能忽略了的一个有趣事实是,后者不用得到前者执行完毕才启动.更有趣的是,只要后者获取了足够的数据,前者便会停止执行. grep 'colin' bigfile.txt | head 故而当 grep 在给定文件中找到含有给定字符串的 10行文字后,即可功成身退,因为那是 head 的全部所需.加入没有管道机制,那就只能这样: grep 'colin' bigfile.txt > tmpfile

Linux下的无名管道pipe的设计

  1. 函数说明 pipe(建立管道): 1) 头文件 #include 2) 定义函数: int pipe(int filedes[2]); 3) 函数说明: pipe()会建立管道,并将文件描述词由参数filedes数组返回. filedes[0]为管道里的读取端 filedes[1]则为管道的写入端. 4) 返回值: 若成功则返回零,否则返回-1,错误原因存于errno中. 错误代码: EMFILE 进程已用完文件描述词最大量 ENFILE 系统已无文件描述词可用. EFAULT 参数

Linux shell中的I/O重定向相关(转)

1. 基本概念(这是理解后面的知识的前提,请务必理解)  a. I/O重定向通常与 FD有关,shell的FD通常为10个,即 0-9: b. 常用FD有3个,为0(stdin,标准输入).1(stdout,标准输出).2(stderr,标准错误输出),默认与keyboard.monitor.monitor有关: c. 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进: d. 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案: e. 0 是 &

用c实现简单的shell-用讲过的各种C函数实现一个简单的交互式Shell

问题描述 用讲过的各种C函数实现一个简单的交互式Shell 1.给出提示符,让用户输入一行命令,识别程序名和参数并调用适当的exec函数执行程序,待执 行完成后再次给出提示符. 2.识别和处理以下符号: 简单的标准输入输出重定向(<和>):仿照例30.5 "wrapper",先dup2然后exec. 管道(|):Shell进程先调用pipe创建一对管道描述符,然后fork出两个子进程,一个子进程 关闭读端,调用dup2把写端赋给标准输出,另一个子进程关闭写端,调用dup2把

linux中shell模拟多线程执行任务详解

shell本身是不能实现多线程的,但是可以通过启动子进程,并将子进程放入后台执行来模拟多线程,为了在提高脚本执行效率的同时又不明显增加负载的作用,还需要对同时放入后台的进程数做下限制.  代码如下 复制代码 #!/bin/bash set -x  # 开启调试模式 #判断是否有参数 if [ $# != 1 ];then     echo "您输入的参数有误"     exit -1 fi # 允许的最大进程数 MAX_THREAD_NUM=5 tmp_fifo_file=/tmp/$

Linux下Shell编程

Linux的shell编程  1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序.一般的Linux系统都将bash作为默认的shell. 2.几种流行的shell 目前流行的shell有ash.bash.ksh.csh.zsh等,可以用下面的命令来查看sh

linux系统编程之管道(三) 命名管道FIFO和mkfifo函数

进程间通信必须通过内核提供的通道,而且必须有一种办法在进程中标识内核提供的某个通道,前面讲过的匿名管道是用打开的文件描述符来标识的.如果要互相通信的几个进程没有从公共祖先那里继承文件描述符,它们怎么通信呢?内核提供一条通道不成问题,问题是如何标识这条通道才能使各进程都可以访问它?文件系统中的路径名是全局的,各进程都可以访问,因此可以用文件系统中的路径名来标识一个IPC通道. FIFO和UNIX Domain Socket这两种IPC机制都是利用文件系统中的特殊文件来标识的. FIFO文件在磁盘上

自动化运维 Shell

下面是我多年整理并使用多少的Shell 分享给大家.说起自动化运维很多人会谈到 puppet, ansible,saltstack 这些工具我都使用了,最终都放弃了.这些工具前期配置太耗时间,扩展也不方便,适合傻瓜化运维,对于有15年软件开发经验的我更喜欢,自由,随心所欲.最 终我选择了自行维护 shell , 将shell 模块化,根据需要组合.   github 地址 :  https://github.com/oscm/shell   下面举例,安装一个web 服务器.   Bash代码