Linux system () and Popen () Differences 1. Introduction to System () and Popen ()In Linux we can execute a shell command through system (), and Popen () executes shell commands and communicates through pipelines and shell commands.System (), Popen (
https://blog.csdn.net/liuxingen/article/details/47057539
Linux System () and Popen () differences 1. System () and Popen () Introduction
In Linux we can execute a shell command through system (), and Popen () is also executing shell commands and
s under Linux we should try to avoid using system. Now let's look at a simple introduction to the system () function under Linux:
#include
int system (Const char* command)
The system () function calls/bin/sh to execute the specified command of a
1. Fork + Exec
Fork is used to create a child process. When a program calls the fork function, the system prepares the preceding three segments for a new process. First, the system allows the new process and the old process to use the same code
0, FILE *popen (const char *command, const char *type);The Popen function is equivalent to doing several things:1. Create a nameless pipe file2. Fork ()3, in the sub-process, EXEC command4, in the sub-process,if type = = "R", it is equivalent to:int
1. Fork + execFork is used to create a child process. When a program calls the fork function, the system prepares the previous three segments for a new process, first, the system allows the new process to use the same code snippet as the old process,
1, file* popen (const char* cmd,const char* type);int Pclose (file* stream);Popen () function fork () A child process that creates a pipeline for parent-child interprocess communication, which either reads from the pipe or writes to the pipe,
Today, I am working on a web page to control the memcached restart function. I thought it was very simple. I didn't get the pid, and then kill it. It's just that simple to restart memcached.
I did not expect to use subprocess. Popen () to call the
Python version 2.5.4 (in later versions, Python advocates replacing OS. popen with subprocess. popen)
OS. popen may cause blocking after a long wait. The solution is as follows:
Def timeout_command (command, timeout ): "" Call shell-command and
Code
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 #! /Usr/bin/env python
2 # coding = UTF-8
3 # note that in the get_mem function, the splite column must correspond to your target
4 import OS
5
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.