首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

subprocess 使用总结

参数 stdinstdoutstderr 分别表示程序的标准输入、输出、错误句柄。他们可以是PIPE,文件描述符文件对象,也可以设置为None,表示从父进程继承。...subprocess.PIPE 表示一个可以被用于Popen的stdinstdoutstderr 3个参数的特输值,表示需要创建一个新的管道。...3.stdin, stdout and stderr详细介绍 Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是stdin, stdout and stderr这三个。...三个数据流默认是表现在用户终端上的执行一个shell命令行时通常会自动打开三个标准文件: 标准输入文件stdin),通常对应终端的键盘;标准输出文件stdout)和标准错误输出文件stderr),这两个文件都对应终端的屏幕...进程将从标准输入文件得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件

1.7K30

Linux命令行与shell脚本编程大全》第十五章 呈现数据

15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)显示器屏幕上显示 2)将输出文件重定向到文件 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理。...Linux文件描述符来标识每个文件对象。 它是一个非负整数,可以唯一标识会话打开文件。...shell从STDIN文件描述符对应的键盘获得输入,在用户输入时处理每个字符 使用输入重定向符号( >  表示追加到文件 注意:用了输出重定向,shell并未将错误消息重定向到输出重定向文件。错误消息仍会显示显示器。 3.STDERR 标准错误(2) STDERR文件描述符来处理错误消息。...15.3 脚本重定向输入 exec 命令允许你将STDIN重定向到Linux系统上的文件。 例子:查看test2的数据   1 #!

1.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)

经过研究,上结论: os.popen 会打开一个管道执行命令,而管道是有输入(stdin)、输出(stdout) 的!...stdinstdoutstderr分别表示子程序的标准输入、标准输出和标准错误。 可选的值有PIPE或者一个有效的文件描述符(其实是个正整数)或者一个文件对象,还有None。...如果是PIPE,则表示需要创建一个新的管道,如果是 None,不会做任何重定向工作,子进程的文件描述符会继承父进程的。...(仅限unix/linux) 如果把close_fds设置成True,unix/linux下会在开子进程前把除了0、1、2以外的文件描述符都先关闭。 Windows下也不会继承其他文件描述符。...(仅限Windows) 再解释一下两个我们后面要用到的东西: subprocess.PIPE 一个可以用于Popen的stdinstdoutstderr参数的特殊值,它指示应打开到标准流的管道。

3.5K30

Linux文件IO操作

文件操作 进行 Linux 文件操作之前,我们先简单了解一下 Linux 文件系统 Linux文件类型 Linux文件类型分为以下这几种: 符号 文件类型 - 普通文件 d 目录文件,d是directory...linux系统,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限。默认的访问权限通过命令umask查看。...要想永久改变umask值,则可以修改文件/etc/bashrc,文件添加一行umask 000 。.../main file len:4 linux下的标准输入/输出/错误 文件IO操作里面一直讲到文件描述符,那我就不得不提一下linux的标准输入/输出/错误 C语言的学习过程我们经常看到的stdin...但是在在Linux下,操作系统一级提供的文件API都是以文件描述符表示文件,对应的的标准输入,标准输出和标准错误输出是0,1,2,宏定义为STDIN_FILENO、STDOUT_FILENO 、STDERR_FILENO

2.7K30

Bash中文件描述符的详细介绍

前言 Linux将所有内核对象当做文件来处理,系统用一个size_t类型来表示一个文件对象,比如对于文件描述符0就表示系统的标准输入设备STDIN,通常情况下STDIN的值为键盘,如read命令就默认从...简单地说,一个文件描述符可以和一个文件挂钩,一旦挂钩就可以通过取地址运算符&获得该文件的句柄,比如&0就可以获得STDIN设备在内存的句柄(设备系统也被当做文件处理),可以这样理解,如果是一个shell...默认标准文件描述符 每个进程启动时默认都会有三个标准的文件描述符: stdin 0 号描述符, 代表输入设备, 进程从它读入数据; stdout 1 号描述符, 进程往其中写入数据; stderr 2...&, 表示同时操作 stdoutstderr Right 可以是文件名或 0-9 的数字, 当 Right 是数字时必须要加上 & 符号, 表示引用第 n 号文件描述符; Right 还可以为...我们通过下面的例子来验证上面的文件描述符交换是否生效: 首先把默认的 stderr 重定向到文件 /tmp/stderr , 这样终端中就不会看到错误输出了; 当交换完 stderrstdout

1.2K43

UNIX 系统Shell 输入输出重定向命令

需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。 ---- 输出重定向 重定向一般通过命令间插入特定的符号来实现。...重定向深入讲解 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin文件描述符为0,Unix程序默认从stdin读取数据。...标准输出文件(stdout):stdout文件描述符为1,Unix程序默认向stdout输出数据。...标准错误文件(stderr):stderr文件描述符为2,Unix程序会向stderr写入错误信息。...如果希望 stderr 重定向到 file,可以这样写: $ command 2>file 如果希望 stderr 追加到 file 文件末尾,可以这样写: $ command 2>>file 2 表示标准错误文件

1K30

Linux:基础IO(一.C语言文件接口与系统调用、默认打开文件流、详解文件描述符与dup2系统调用)

操作系统文件的操作通常需要通过进程来打开文件才进行,进程在打开文件时会创建一个文件描述符,用于标识这个文件访问文件之前,通常需要先打开文件。...操作系统,进程在打开文件时会获得一个文件描述符,这个文件描述符是进程访问该文件的标识符。一个进程可以打开多个文件,每个打开文件都会有一个对应的文件描述符。...这三个文件流在程序启动时会自动打开,不需要显式地打开或关闭 stdinstdoutstderr 是标准C库定义的全局变量,它们分别代表标准输入流、标准输出流和标准错误流。...printf("%d", stderr->_fileno); return 0; } 5.2底层 Linux 内核,已经打开文件结构体通常被称为文件描述符表(File Descriptor...标准输入流 stdin、标准输出流 stdout、标准错误流 stderr 分别对应文件描述符 0、1、2。

15910

Linux如何在Bash中将标准错误stderr重定向到stdout标准输出

将命令的输出重定向到文件或将其通过管道传递到另一个命令时,你可能会注意到错误消息已打印屏幕上。 Bash和其他Linux Shell,执行程序时,它使用三个标准I/O流。...每个流由一个数字文件描述符表示: 0-stdin,标准输入流。 1 -stdout,标准输出流。 2 -stderr,标准错误流。 文件描述符只是代表打开文件的数字。...command > file command 1> file 要重定向标准错误流(stderr),请使用2>运算符: command 2> file 你可以将stderrstdout都写到两个单独的文件...重定向到stdout 将程序的输出保存到文件时,通常会将stderr重定向到stdout,以便将所有内容都保存在一个文件。...Bash,&>与2>&1的含义相同: command &> file 结论 命令行上工作时,了解重定向和文件描述符的概念非常重要。

3.3K20

python模块之subprocess类与常量

stdin, stdout, stderr参数的特殊值,意味着使用管道重定向输入输出 subprocess.STDOUT:可传递给stderr参数的特殊值,表示重定向标准错误到标准输出 Popen 一个新的进程执行子程序...stdin/stdout/stderr:分别指定程序执行的标准输入,标准输出,标准错误。可选值包括PIPE,DEVNULL,已存在的文件描述符(正整数),已存在的文件对象,None。...子进程文件句柄继承自父进程。除此之外,stderr还可以是STDOUT,表示标准错误输出重定向到标准输出。 preexec_fn:限于POSIX系统,设置一个可调用对象,先于子进程的程序执行。...close_fds:如果为False,文件描述符遵循Inheritance of File Descriptors描述的inheritable标识。...如果为True,POSIX系统下,子进程执行前关闭除0,1,2外的文件描述符。 pass_fds:限于POSIX,可选的文件描述符序列,用于父子进程间保持开放。

2.4K10

3分钟阅读 | 最难用的 Bash ,最常用的输入输出重定向

引言 将命令的输出重定向到文件,或将其通过管道传递到另一个命令时,你可能会注意到错误消息会被打印屏幕上。 ? Bash和其他Linux Shell,执行程序时,它使用三个标准 I/O 流。...每个流都由一个数字文件描述符表示: 0- stdin,标准输入流。 1- stdout,标准输出流。 2- stderr,标准错误流。 文件描述符只是代表打开文件的数字。 输入流通常通过键盘输入。...默认情况下,输入流和错误流都打印屏幕上。 重定向输出 重定向是一种捕获程序输出并将其作为输入发送到另一个程序或文件的方法。 可以使用n>运算符重定向流,其中n为文件描述符号。...到stdout 将程序的输出保存到文件时,重定向stderrstdout很常见,因此你可以将所有内容都保存在一个文件。...Bash&>具有以下含义2>&1: command &> file 写在最后 命令行上工作时,了解重定向和文件描述符的概念非常重要。

86710

python 标准类库-并行执行之subprocess-子进程管理

也可以通过使用stderr=subprocess.STDOUT结果捕获标准错误。...subprocess.DEVNULL 可用于Popen函数stdinstdout或者stderr参数的特定值,表示使用指定文件os.devnull subprocess.PIPE 可用于Popen...函数stdinstdout或者stderr参数的指特定值,表示必须打开一个指向标准流的管道。...stdin, stdoutstderr分别指明了被执行程序的标准输入,标准输出和标准错误处理文件句柄。可选值PIPE,DEVNULL,已存在文件描述符(一个正整数),已存在文件对象,None。...合法值为PIPE,DEVNULL,已存在文件描述符(一个正整数),已存在文件对象和None。 PIPE表示应该创建通往子进程的管道。DEVNULL表示应该使用指定文件os.devnull。

3.9K20

Bash 如何将标准错误stderr转向标准输出stdout

将命令输出转到文件或者另外一个命令的时候,你可能会注意到错误提示打印屏幕上。 Bash 和其他 Linux shells ,当程序执行时,它使用三个标准的 I/O 流。...每一个流由一个数字文件描述符表示: 0 - stdin,标准输入 1 - stdout,标准输出 2 - stderr,标准错误 一个文件描述符就是一个数字,代表一个打开文件。...默认情况下,输入流和错误流都打印屏幕上。 二、输出转向 转向就是将程序输出,发送到另外一个程序或者文件。 流可以使用n>操作符进行转向,其中n就是文件描述符数字。...转向stdout 当保存程序输出到文件时,通常将标准错误stderr转向stdout,以便在同一个文件记录完成信息。... Bash &>和2>&1 一个意思: command &> file 四、总结 使用命令行的时候,理解转向和文件描述符的概念是非常重要的。

1.6K30

Python守护进程daemon实现

在这里,我们Linux2.6内核的centos,ps -ef |awk '{print $1"\t "$2"\t "$3"\t  "$8}'看到:PPID=0的进程有两个,分别是PID=1的/sbin...它可以Linux系统启动时从启动脚本/etc/rc.d启动,可以由作业规划进程crond启动,还可以由用户终端(通常是shell)执行。此外,守护进程必须与其运行前的环境隔离开来。...这是为了保证守护进程的当前工作目录在一个挂载的文件系统,该文件系统不能被卸载。 5、关闭不再需要的文件描述符。根据具体情况来定。...6、某些守护进程可以打开/dev/null使其具有文件描述符0、1、2,这使任何一个试图读标准输入、写标准输出或标准错误的库例程都不会产生任何效果。...总结守护进程编程规则 1.在后台运行,调用fork ,然后使父进程exit 2.脱离控制终端,登录会话和进程组,调用setsid()使进程成为会话组长 3.禁止进程重新打开控制终端 4.关闭打开文件描述符

7.2K30

nohup command > out.file 2>&1 & 命令详解

当然,nohup命令会解除终端和其打开的进程之间的关联,进程会丢掉STDOUTSTDERR的链接。标准输出和标准错误的缺省会导致输出被重定向到nohup.out文件。...FD (file descriptor文件描述符) shell 程式,最常使用的 FD (file descriptor文件描述符) 有三个, 分别是: 0 是一个文件描述符表示标准输入(stdin...) 1是一个文件描述符表示标准输出(stdout) 2 是一个文件描述符表示标准错误(stderr) 标准情况下, 这些FD分别跟如下设备关联:  stdin(0): keyboard 键盘输入...,并返回控制台  stdout(1): monitor 正确返回值 输出到控制台  stderr(2): monitor 错误返回值 输出到控制台 > 重定向符 >是重定向符,就是把前面的输出内容重定向到后面指定的位置...out.file 2>&1与command 1>out.file 2>out.file 的区别在于前者只打开一次文件out.file,后者会打开文件两次,并导致stdoutstderr覆盖。

1.8K30

php的各种 IO流 以及用法

输入流 STDIN输入流为 php的标准输入流,一般是指键盘输入到程序缓冲区的数据 php,主要是指在php-cli运行模式下,用户使用键盘输入到控制台的数据,例如:(注意,需要使用php-cli...; 可看到,上面使用了php://stdin 协议,打开了一个标准输入的操作句柄,然后可读取用户控制台输入的数据 上面的代码也可写成: <?...; STDIN常量是一个已经打开stdin流,可节省几行代码,也可节省小部分打开stdin的性能 当然,值得注意的点是: 1:php://stdin打开的其实是STDIN常量已经打开的复制,所以就算关闭了...$stdout,"这是输出1\n"); echo "这是输出2\n"; fwrite(STDOUT,"这是输出3\n"); 和stdin注意点一样,这里不复制了,但需要加上一条: php-cli模式...用法: linux,一切皆文件,当启动系统时,先会启动STDIN标准输入(文件描述符0),之后是STDOUT文件描述符1,STDERR文件描述符2 使用php://fd,可直接调用该文件: <?

1.4K21

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券