Sponsored Content
Full Discussion: question about popen in C
Top Forums Programming question about popen in C Post 302505379 by omega666 on Wednesday 16th of March 2011 08:15:29 PM
Old 03-16-2011
where do I put the -C using execl?
execl("/bin/sh", "/bin/sh", "-c", comm, NULL);

would it be like
execl("/bin/sh", "/bin/sh", "-c", "-C", comm, NULL);

?
 

10 More Discussions You Might Find Interesting

1. Programming

question about popen();

Hi The following is my program to test popen() routine. The purpose is to print some contents of the corrent directory. But in fact, the output is only one character 'a', which I believe is the first char of the file "a.out". So, can anybody tell me what is wrong about this program?... (2 Replies)
Discussion started by: dell9
2 Replies

2. Programming

query in popen

hai friends I have written a tcp chat server in c.. I have designed a cgi program in c to control it... When i try to start the server from the cgi program, it is not starting. Why is that ? I have even tried giving the root ownership for all the programs.. Still its not. I have used the... (1 Reply)
Discussion started by: collins
1 Replies

3. Programming

popen and tar, please HELP!

Hi there, I'm facing a problem running the tar command with the popen function. FILE* fp = popen("tar czf - textfile","r") // output this program should give the output to the stdout. I don't know if it is possible and which function like fprint() etc. should I use. I suppose that I... (4 Replies)
Discussion started by: stef83
4 Replies

4. Programming

using popen with background process

hi, how to work with a background process without a controlling terminal to make use of popen or system call ? when ever i use popen or system function call in foreground process, there is no problem with respect to that .. but when the same program is run as a background process without a... (7 Replies)
Discussion started by: matrixmadhan
7 Replies

5. Shell Programming and Scripting

Python: popen problems

Hello I'm writing a web server in python(obelisk-http.sourceforge.net) and I'm having a greeat problem with POST method it like that When someone make a POST request to the server it must open the executable(perl/python/.exe/elf) and send to the STANDART in (stdin) the request and get the... (2 Replies)
Discussion started by: sendai
2 Replies

6. Programming

prolems with pipes and popen in c

Hi! I'm trying to write a c program. The child process must transmit to the parent a file name and the parent must count the lines from the file and return te result to the child. Here is what i've done. It doesn't stop running, I guess. I'm sorry if it's an ugly code, i'm new at this stuff,... (2 Replies)
Discussion started by: alina89
2 Replies

7. UNIX for Advanced & Expert Users

popen and pclose solved

Hi I am trying to use popen function with wrtie option to give inputs to ftp command. #include "stdio.h" int main(int argv ,char *argc) { int size=0; char *buf; FILE *fp; fp = popen("ftp","w"); while(getline(&buf,&size,stdin) != -1) write(fp,buf);... (0 Replies)
Discussion started by: kumaran_5555
0 Replies

8. Programming

segmentation fault while using popen

hi, i am trying to use popen to run a grep process and check if the pattern exists in the file that i am searching in. i am getting segmentation fault when i try to execute the following code char *cd; char flag; char hdr_flpsp; char hdr_flpsp2; FILE *fp; printf ("program starts");... (1 Reply)
Discussion started by: sais
1 Replies

9. Programming

question about system and popen in C

in man system it talks about SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored. Does this signal stuff also happen in popen command? (even though man popen says nothing about signals) also if I am not using wait(&status) and I am using waitpid(pid, NULL, 0) how would... (1 Reply)
Discussion started by: omega666
1 Replies

10. Programming

Popen problem

Hello all, I am reading a huge zip file in POPEN process and then writting that to a normal file which of 2GB. Now the process is failing when I looked for the cause someother process comming in after I read my file and it is deleting the zip. But in theory the popen command should read the... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies
EXEC(3) 						   BSD Library Functions Manual 						   EXEC(3)

NAME
execl, execlp, execle, exect, execv, execvp -- execute a file LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char *const envp[]); int exect(const char *path, char *const argv[], char *const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); DESCRIPTION
The exec family of functions replaces the current process image with a new process image. The functions described in this manual page are front-ends for the function execve(2). (See the manual page for execve(2) for detailed information about the replacement of the current process. The script(7) manual page provides detailed information about the execution of interpreter scripts.) The initial argument for these functions is the pathname of a file which is to be executed. The const char *arg and subsequent ellipses in the execl(), execlp(), and execle() functions can be thought of as arg0, arg1, ..., argn. Together they describe a list of one or more pointers to null-terminated strings that represent the argument list available to the executed program. The first argument, by convention, should point to the file name associated with the file being executed. The list of arguments must be terminated by a NULL pointer. The exect(), execv(), and execvp() functions provide an array of pointers to null-terminated strings that represent the argument list avail- able to the new program. The first argument, by convention, should point to the file name associated with the file being executed. The array of pointers must be terminated by a NULL pointer. The execle() and exect() functions also specify the environment of the executed process by following the NULL pointer that terminates the list of arguments in the parameter list or the pointer to the argv array with an additional parameter. This additional parameter is an array of pointers to null-terminated strings and must be terminated by a NULL pointer. The other functions take the environment for the new process image from the external variable environ in the current process. Some of these functions have special semantics. The functions execlp() and execvp() will duplicate the actions of the shell in searching for an executable file if the specified file name does not contain a slash ``/'' character. The search path is the path specified in the environment by the PATH variable. If this variable isn't specified, _PATH_DEFPATH from <paths.h> is used instead, its value being: /usr/bin:/bin:/usr/pkg/bin:/usr/local/bin. In addition, cer- tain errors are treated specially. If permission is denied for a file (the attempted execve(2) returned EACCES), these functions will continue searching the rest of the search path. If no other file is found, however, they will return with the global variable errno set to EACCES. If the header of a file isn't recognized (the attempted execve(2) returned ENOEXEC), these functions will execute the shell with the path of the file as its first argument. (If this attempt fails, no further searching is done.) If the file is currently busy (the attempted execve(2) returned ETXTBUSY), these functions will sleep for several seconds, periodically re- attempting to execute the file. The function exect() executes a file with the program tracing facilities enabled (see ptrace(2)). RETURN VALUES
If any of the exec functions returns, an error will have occurred. The return value is -1, and the global variable errno will be set to indicate the error. FILES
/bin/sh The shell. ERRORS
execl(), execle(), execlp() and execvp() may fail and set errno for any of the errors specified for the library functions execve(2) and malloc(3). exect() and execv() may fail and set errno for any of the errors specified for the library function execve(2). SEE ALSO
sh(1), execve(2), fork(2), ptrace(2), environ(7), script(7) COMPATIBILITY
Historically, the default path for the execlp() and execvp() functions was ``:/bin:/usr/bin''. This was changed to improve security and be- haviour. The behavior of execlp() and execvp() when errors occur while attempting to execute the file is historic practice, but has not traditionally been documented and is not specified by the POSIX standard. Traditionally, the functions execlp() and execvp() ignored all errors except for the ones described above and ENOMEM and E2BIG, upon which they returned. They now return if any error other than the ones described above occurs. STANDARDS
execl(), execv(), execle(), execlp() and execvp() conform to ISO/IEC 9945-1:1990 (``POSIX.1''). BSD
May 6, 2005 BSD
All times are GMT -4. The time now is 06:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy