Sponsored Content
Top Forums Programming after executing execvp()... program hangs up Post 302089158 by blowtorch on Sunday 17th of September 2006 09:42:29 PM
Old 09-17-2006
Code:
close(0);
dup2(pipes[0][1],0);
close(pipes[0][0]);open(0);
execvp(intial_command,argList);

Isn't that open(0) giving you any errors during compilation? The open syscall needs atleast two arguments.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Allowing a script to continue executing when a command hangs

Hello all, I'm writing a script in c-shell that, among other things, queries information from another system. Is there a graceful way I can continue execution of the script if that query command(rup) causes the script to hang? Thanks much! (5 Replies)
Discussion started by: mkinney
5 Replies

2. Programming

executing a program within a program

Read the title: how do i do it? (4 Replies)
Discussion started by: Gekko
4 Replies

3. Shell Programming and Scripting

Executing a Java Program

I am entirely new to shell scripting and would like to create a script to execute a java program called Main. I've already compiled it and placed the .java and .class files at /root/javaTest. Next I made a shell script that simply contained: java /root/javaTest/Main . I made the script... (2 Replies)
Discussion started by: hypnotic_meat
2 Replies

4. Programming

popen hangs program during cmd execution

How can I get around this? when my program reaches the following popen job it halts the program until the ping/netstat/ipconfig/traceroute is completed then resume to the rest of the program... FILE *in; extern FILE *popen(); char buff; char newline; char nstat; char nping; ... (5 Replies)
Discussion started by: Jess83
5 Replies

5. Shell Programming and Scripting

Executing WIN32OLE program

Hello, Please help me out to execute this perl program: #!/usr/bin/perl -w use strict; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3; # die on errors... # get already active Excel application or open new my... (6 Replies)
Discussion started by: suvenduperl
6 Replies

6. UNIX for Dummies Questions & Answers

executing a different program

What system calls or commands do I need to use in order to execute a different program from an already running process? (1 Reply)
Discussion started by: justOne21
1 Replies

7. Shell Programming and Scripting

How to display a message if program hangs(takes too long)

I have a ksh script (script1) that calls another ksh script (script2). If script2.ksh hangs or takes too long to execute I want script1.ksh to kill the call to script2.ksh and instead just display "Script2 can't run right now". Could someone help me with coding this? (1 Reply)
Discussion started by: mrskittles99
1 Replies

8. Programming

Error in executing the C program

Hello Friends, I have written a code for the unisex bathroom which makes a policy that when a woman is in the bathroom only other women may enter, but not men, and vice versa. This program consists of four functions which a user defines but these functions are not properly working while... (4 Replies)
Discussion started by: Ravi Tej
4 Replies

9. Programming

Program Hangs

I have two programs, DriverScale.c and scale9.c. DriverScale.c calls scale 9.c which sends a W and a carraige return to the scale which SHOULD return the weight to DriverScale. However scale 9 hangs for at least 10 min, and then finally returns the weight. Compilation: ... (8 Replies)
Discussion started by: Meow613
8 Replies

10. Programming

Fork and Execvp Not Executing Bash Commands From C correctly.

I had been looking at page 75 of this online book: http://richard.esplins.org/static/downloads/linux_book.pdf I've used the system function in C to call bash commands before, but wanted to learn this way too. The solution in the book worked perfectly. However, I tried changing the simple "ls -l... (3 Replies)
Discussion started by: Azrael
3 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 05:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy