07-06-2006
Quote:
Originally Posted by hardwickj
Any other ideas? Could I use a popen() instead of sytem() to do this?
popen() is going to do just what system() is doing, only it will allow you to read the output of the command, or to feed input to the command. Apart from that, pretty much the same.
You will actually have to write a C program to do what you are doing. Just from the first few lines of the script that you have in the first post, you are going to have to use getenv, setenv, fopen, fprintf... most probably fork() and exec() too...
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi guys,
Is it possible to make SOAP calls from within Unix shell scripts?
I need to access a web service from within UNIX in order to lookup something while I am doing some parsing on a file.
Regards,
Laud (2 Replies)
Discussion started by: Laud12345
2 Replies
2. Linux
Hi Everyone!
How can we make a socket() system call from a linux module executing in kernel space?
If any one knows, kindly tell me. It will be great.
I want to use the socket interface in linux kernel space for sending raw packets over the network.
Hamayun (0 Replies)
Discussion started by: mian_m_hamayun
0 Replies
3. UNIX for Advanced & Expert Users
Hi,
Ho do I differentiate system call from library call?
for example if I am using chmod , how do I find out if it is a system call or library call?
Thanks
Muru (2 Replies)
Discussion started by: muru
2 Replies
4. Programming
How the c compiler differentiates the system calls and function calls? (1 Reply)
Discussion started by: rangaswamy
1 Replies
5. Shell Programming and Scripting
Hi,
How to write a system calls in a script ?
> cd $HOME
> ls -ltr
thanks in advance.. (10 Replies)
Discussion started by: hegdeshashi
10 Replies
6. Programming
Hi
I'm studing the system call. I've written a small program that return the time spent in doing some operations. Now I'd like to write one that return the time spent in user mode of a process.
I'm reading that i should use the tms struct:
clock_t times(struct tms *buf);
struct tms {... (2 Replies)
Discussion started by: Dedalus
2 Replies
7. UNIX for Dummies Questions & Answers
Hello,
I was asked by my boss to make a backup of one of our systems that is slated to be decommissioned. When I suggested if could tar the "/" directory he nodded and said that would do the trick,
When I try and execute the command I get EOF error. I think it is because there is not enough... (2 Replies)
Discussion started by: mojoman
2 Replies
8. Shell Programming and Scripting
Trying to figure out a load issue with a webserver. I have traced a php script and noticed the following
connect(4, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000035>
poll(, 1, 2000) = 1 () <0.000120>... (5 Replies)
Discussion started by: rajan007
5 Replies
9. Solaris
Hello to all,
I have Fujitsu Celzius M470 workstation which has Sun solaris system installed and want to make a complete backup of the hard drive. The existing HDD is SATA II, 500 GB.
I don't have much experience working with SUN solaris systems (not at all) but have some experience with... (5 Replies)
Discussion started by: Mick
5 Replies
LEARN ABOUT ULTRIX
pclose
popen(3) Library Functions Manual popen(3)
Name
popen, pclose - initiate I/O to/from a process
Syntax
#include <stdio.h>
FILE *popen(command, type)
char *command, *type;
pclose(stream)
FILE *stream;
Description
The arguments to are pointers to null-terminated strings containing respectively a shell command line and an I/O mode, either "r" for read-
ing or "w" for writing. It creates a pipe between the calling process and the command to be executed. The value returned is a stream
pointer that can be used (as appropriate) to write to the standard input of the command or read from its standard output.
A stream opened by should be closed by which waits for the associated process to terminate and returns the exit status of the command.
Because open files are shared, a type "r" command may be used as an input filter, and a type "w" as an output filter.
Diagnostics
The routine returns a null pointer if files or processes cannot be created, or the shell cannot be accessed.
The routine returns -1 if stream is not associated with a `popened' command.
Restrictions
Buffered reading before opening an input filter may leave the standard input of that filter mispositioned. Similar problems with an output
filter may be forestalled by careful buffer flushing, for instance, with For further information, see
The routine always calls and never calls
See Also
sh(1), pipe(2), wait(2), system(3), fclose(3s), fopen(3s)
popen(3)