I think this is because $group includes a linefeed because you are entering it from the command line when you reply to "Enter the parent node group name: ". When the system command interprets the arguments you are giving it then it sees:
Code:
system "ovownodeutil -add_exnode -group_path $group<linefeed>
-caption $line -other $line -check_before_managed_nodes";
so the -caption is seperated from the call to ovownodeutil and you get a message from ovownodeutil saying it is missing -caption.
I think the way around this is to chop off the linefeed after you read $group so you need to add command chomp $group like this:
Code:
print "Enter the parent node group name: ";
$group = <>;
chomp $group;
hi there,
i was reading about the exec() function. and if i m not wrong, exec() kills your present process and starts a new process in its place. the process id remains the same.
then it says if exec is successful the text data and stack are overlayed by new file! -
i dont get this part "only... (2 Replies)
Hi ,
Can anybody name any System Function in C/C++ for Sun-Solaris (unix) platform which can serve the alternative of execl() system function.
Actually I am calling a fork-execl() pair and then making an interprocess communication between these two(parent-child process). But the problem is... (3 Replies)
Hi I'm new to Perl and the forum. I've done a quick search on my question but I didn't see an answer. I sincerely apologize if this question has been asked.
I'm trying to have my perl scrip recognize system variable $USER such that:
my $test_path = "/temp/\$USER/g03/Gau-11097.EIn";
open... (2 Replies)
Hi again ;) Now I want to make a program that will execute the programs with exec, asking the user if he wants the program to run in background or foreground.
scanf("%c",&caracter);
if (caracter=='y'){
printf("Has decidido ejecutarlo en background\n");
if((pid=fork())==0) {// fork para... (3 Replies)
I have the following bash script lines in a file named test.sh.
#!/bin/bash
#
# Write Date to cron.log
#
echo "Begin SSI Load $(date +%d%b%y_%T)"
#
# Get the latest rates file for processing.
#
d=$(ls -tr /rms/data/ssi | grep -v "processed" | tail -n 1)
filename=$d
export filename... (3 Replies)
i have perl script that used to be working great , once i edit it in windows
and convert it to UTF-8 and then via FTP return it .
also did:
chmod +x foo.pl
and then when i try to run it :
./foo.pl
im getting this error:
./foo.pl: Exec format error. Wrong Architecture.... (4 Replies)
I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open())
I would like to run another PERL-script from first one, not... (1 Reply)
Hello... And thanks in advance for any help anyone can offer me on my question! I've been doing a lot of reading to try and find my answer... But I haven't had any luck
What I'm trying to understand is where a child process inherits global environment variables from? I understand the exec()... (2 Replies)
Discussion started by: bodisha
2 Replies
LEARN ABOUT SUNOS
system
system(3C)system(3C)NAME
system - issue a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *string);
The system() function causes string to be given to the shell as input, as if string had been typed as a command at a terminal. The invoker
waits until the shell has completed, then returns the exit status of the shell in the format specified by waitpid(3C).
If string is a null pointer, system() checks if the shell exists and is executable. If the shell is available, system() returns a non-zero
value; otherwise, it returns 0. The standard to which the caller conforms determines which shell is used. See standards(5).
The system() function executes vfork(2) to create a child process that in turn invokes one of the exec family of functions (see exec(2)) on
the shell to execute string. If vfork() or the exec function fails, system() returns -1 and sets errno to indicate the error.
The system() function fails if:
EAGAIN The system-imposed limit on the total number of processes under execution by a single user would be exceeded.
EINTR The system() function was interrupted by a signal.
ENOMEM The new process requires more memory than is available.
USAGE
The system() function manipulates the signal handlers for SIGINT, SIGQUIT, and SIGCHLD. It is therefore not safe to call system() in a mul-
tithreaded process, since some other thread that manipulates these signal handlers and a thread that concurrently calls system() can inter-
fere with each other in a destructive manner. If, however, no such other thread is active, system() can safely be called concurrently from
multiple threads. See popen(3C) for an alternative to system() that is thread-safe.
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |Unsafe |
+-----------------------------+-----------------------------+
ksh(1), sh(1), exec(2), vfork(2), popen(3C), waitpid(3C), attributes(5), standards(5)
18 Dec 2003 system(3C)