Yeah, I know, sorry the code is so huge, I guess I had to post the whole code so the mods don't come down on me for not filling out the whole thread template, but anyway... I wish I had time to simplify the code, now I'm just trying to get this thing going. I changed the code to this (just including the problem area in the "create_command_process" function):
Code:
if(childpid=fork())//if more than one process, and this is the parent process....
{
if((cmd_pids[i]=(int)childpid)==-1)//did it fork correctly?
{
perror("Error forking!");
exit(666);
}
close(prev[0]);//close previous filedescriptor in
close(prev[1]);//close previous filedescriptor out
close(curr[0]);
close(curr[1]);
}
else
{
if(prev[1]!=-1)//if previous pipe has a valid item
{
dup2(prev[0],0);
dup2(prev[1],1);
close(prev[0]);
close(prev[1]);
}
if(curr[0]!=-1)//if current pipe has a valid item
{
dup2(curr[0],0);
dup2(curr[1],1);
close(curr[0]);
close(curr[1]);
}
execvp(test,argvector);//execute the process....
}
When I run it with "ls | wc", absolute NO output to the shell console comes back (even though it's writing stuff to my logfile). I will work on this some more, but I don't know if this means it's working now? Aren't I like supposed to get a set of numbers back for "ls | wc"? (running it in shell spits out "16 16 150" in my current folder). Then again, the assignment description says this, and I quote:
" The standard output stream is used and used only for printing command execution results. "
So I take this to mean I shouldn't have to worry enough about it printing anything straight to the console?
---------- Post updated at 01:12 PM ---------- Previous update was at 01:11 PM ----------
Quote:
Originally Posted by Corona688
Also, exit(666) makes no sense. It only takes numbers 1-127.
Oh, really? I didn't know that. I just heard that any non-zero number fed into an exit() call indicated failure so I use 666 to be a wise guy for obvious reasons, bahahaha. I'll change it, though, to be something in that valid range. Thanks.
I've got a c++ program that works fine on Linux, compiles on Solaris fine with g++, but will not write to a fstream correctly in a class object.
And I've run into numerous other bugs in the disk management.
Jon (4 Replies)
I have a question about how to get the exit code of the first command when it appears in a pipe-lined command.
For example, I have the following script:
grep abc dddd | tee -a log
if ]
then
echo "ERROR!"
fi
In the above script, ] is supposed to test the exit code of "grep abc... (3 Replies)
I have a file called "library" with the following content
libnxrdbmgr.a
libnxrdbmgr.so
libnxtk.a
libnxtk.so
libora0d_nsc_osi.so
I am trying to locate if these libraries are on my machine or not. find command runs for about few seconds and hangs after this.
Can someone please help me and... (3 Replies)
Hello,
I could not find the exactly same post here.. so I will explain what I did to get the last month using date command.
I used
date +%Y-%m -d "-1 months"
to get the last month. However, the returned value of above command on 2009/10/31 was 2009 10 and not 2009 09.. and the... (9 Replies)
Hi,
I am running the following command, and it tries to delete some dn from ldap, however, it takes lot of time before it finally request LDAP server to delete it.
I am trying to find why it is taking lot of time. Could you anyone help me in this regard. I have copies the pstack output, and... (3 Replies)
Hi there can anyone help me
here is my code
echo "Type in a positive number"
read X
I=2
while
do
if
then
echo "It is not prime"
break
else
if
then
echo "It is prime"
break
else
I=$(( $I + 1))
fi
fi (4 Replies)
Hi,
I have Solaris-10 OS on T5220. Both local disks were mirrored under SVM. Somehow when one disk gone bad (c0t1d0), other disk (c0t0d0) also got lot of bad block. We have readable data only on c0t0d0, but as soon as server comes after, it hangs when I run few commands because of read errors,... (1 Reply)
I am trying to compile the datastage jobs using the Execute Command stage in datastage 11 or any Routines if possible. My datastage is on Unix machine.
So, How can I Compile a datastage job in UNIX from command line or any Routines.
Please help me in doing so.
Thank you. (1 Reply)
Hello guys,
I have an issue when trying to do an egrep -v on a file, let me show you.
I want to filter the last column as to where it filters out the columns with asterisks and zeros ( * and 0 ) it is working properly up to a certain point where I have a value of '10000' which is also getting... (3 Replies)
Discussion started by: evergreen
3 Replies
LEARN ABOUT CENTOS
truncate
TRUNCATE(1) User Commands TRUNCATE(1)NAME
truncate - shrink or extend the size of a file to the specified size
SYNOPSIS
truncate OPTION... FILE...
DESCRIPTION
Shrink or extend the size of each FILE to the specified size
A FILE argument that does not exist is created.
If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the extended part (hole)
reads as zero bytes.
Mandatory arguments to long options are mandatory for short options too.
-c, --no-create
do not create any files
-o, --io-blocks
treat SIZE as number of IO blocks instead of bytes
-r, --reference=RFILE
base size on RFILE
-s, --size=SIZE
set or adjust the file size by SIZE bytes
--help display this help and exit
--version
output version information and exit
SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ...
(powers of 1000).
SIZE may also be prefixed by one of the following modifying characters: '+' extend by, '-' reduce by, '<' at most, '>' at least, '/' round
down to multiple of, '%' round up to multiple of.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report truncate translation bugs to <http://translationpro-
ject.org/team/>
AUTHOR
Written by Padraig Brady.
COPYRIGHT
Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO dd(1), truncate(2), ftruncate(2)
The full documentation for truncate is maintained as a Texinfo manual. If the info and truncate programs are properly installed at your
site, the command
info coreutils 'truncate invocation'
should give you access to the complete manual.
GNU coreutils 8.22 June 2014 TRUNCATE(1)