C Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming LanguagesC Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old February 2nd, 2009, 01:19 AM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
Red face System() output

I came across a different little issue that I would like to find a solution.

I am using system() in program1 (yes, I know, bad) to run program2 after formatting it and its arguments with snprintf(). I would have used execl(), but it stops running after the first execution and I need it to run a few times. The program runs a program2 and system() is happy to print its output, fine. But, when and if program2 crashes, it doesn't show that output (like a segmentation fault, etc). I want it to show every detail after execution, just like I would have ran it without using program1, and I want to see the error if the program2 I run crashes, as well.

I hope my problem is understood, if not let me know and I'll try to explain it further. I appreciate your help and solutions as always.

mj

Reply With Quote
  #2  
Old February 2nd, 2009, 01:31 AM
salem's Avatar
salem salem is offline
Contributing User
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jun 2005
Posts: 2,202 salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)  Folding Points: 153 Folding Title: Novice Folder
Time spent in forums: 1 Month 2 Weeks 2 Days 23 h 26 m 58 sec
Reputation Power: 889
Something like
Code:
system( "myprog 1>output.txt 2>errors.txt" );
__________________
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.

Reply With Quote
  #3  
Old February 2nd, 2009, 04:21 AM
clifford's Avatar
clifford clifford is offline
Contributing User
Dev Shed Expert (3500 - 3999 posts)
 
Join Date: Aug 2003
Location: UK
Posts: 3,891 clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level) 
Time spent in forums: 3 Weeks 4 Days 6 h 57 m 32 sec
Reputation Power: 1216
Quote:
Originally Posted by mokeyjoe
I would have used execl(), but it stops running after the first execution and I need it to run a few times.
Maybe you should ask yourself (or us) why that might be.

Reply With Quote
  #4  
Old February 2nd, 2009, 01:16 PM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
Using those outputs didn't work, but I found I can use execl() and it will show all output, but I guess it returns after execution and I need it to keep going (I need to execute around program2 about 5 times with different arguments). Any way around this?

Reply With Quote
  #5  
Old February 2nd, 2009, 02:09 PM
clifford's Avatar
clifford clifford is offline
Contributing User
Dev Shed Expert (3500 - 3999 posts)
 
Join Date: Aug 2003
Location: UK
Posts: 3,891 clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level)clifford User rank is General 4th Grade (Above 100000 Reputation Level) 
Time spent in forums: 3 Weeks 4 Days 6 h 57 m 32 sec
Reputation Power: 1216
Quote:
Originally Posted by mokeyjoe
Using those outputs didn't work, but I found I can use execl() and it will show all output, but I guess it returns after execution and I need it to keep going (I need to execute around program2 about 5 times with different arguments). Any way around this?


In what way did they not work? The text was sent to a file (or two separate files).

It is not entirely clear what you mean, or what you want. Whatever you are doing we probably need to know what OS you are using.

execl will behave as documented. How are you using it? In Windows it spawns a process that replaces teh process that spawned it (as documented). If that is not what you wanted, you are using the wrong function. Perhaps you really wanted spawnl(), which spawn an additional process. You can opt to have the process run synchronously or concurrently to the spawning process.

Clifford

Reply With Quote
  #6  
Old February 2nd, 2009, 02:20 PM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
I am using Linux.

program1 runs program2 with "1" as argument #1
program1 runs program2 with "1" as argument #1 and "10" as argument #2
program1 runs program2 with "100" as argument #1
program1 runs program2 with "1" as argument #1, #2, & #3
program1 runs program2 with "0" as argument #1

I need to write code that will do that, basically, all in one program (program1).

As you suggested clifford, execl will replace the current program1 with program2, therefore leaving no control with program1, which program1 needs to run program2 again and again with different arguments.

See my problem now?

Note: I am mostly interested in the error/normal output of the executions.

Thanks!

Last edited by mokeyjoe : February 2nd, 2009 at 02:27 PM.

Reply With Quote
  #7  
Old February 2nd, 2009, 03:15 PM
salem's Avatar
salem salem is offline
Contributing User
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jun 2005
Posts: 2,202 salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)  Folding Points: 153 Folding Title: Novice Folder
Time spent in forums: 1 Month 2 Weeks 2 Days 23 h 26 m 58 sec
Reputation Power: 889
> but I found I can use execl() and it will show all output, but I guess it returns after execution and I need it to keep going
Did you call fork() before calling exec()?
If not, then you did it wrong, and you would only get one shot.

> Using those outputs didn't work
Thanks for really clarifying it with zero evidence.
Did you see any files created at all, even empty ones?
Did you see the error message, despite attempts to redirect it?
Did you... - got the picture?

Post some actual code, and actual observations.

Reply With Quote
  #8  
Old February 2nd, 2009, 03:58 PM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
Code:
void run(char *bin, char *data)
{

if(fork())
{

     execl(bin, bin, data, 0);

}

else
{

int pid, status;

     pid = wait(&status);

}
}

.....

for(i = 0; i < 5; i++)
{

     run(PATH, data);

}


(with 'data' being different each time)

Code:
bash$ ./test
test 0
test 1
test 2
test 3
test 4
value 1 added
value 14 added
value 65 added
bash$


You see, values for i=3 and i=4 caused a segmentation fault, which it does not show. I believe this is an error with the code. Reponse?

Reply With Quote
  #9  
Old February 2nd, 2009, 05:39 PM
sizablegrin's Avatar
sizablegrin sizablegrin is offline
Crab
Dev Shed God 1st Plane (5500 - 5999 posts)
 
Join Date: Jun 2005
Posts: 5,936 sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level) 
Time spent in forums: 2 Months 3 Weeks 2 Days 4 h 50 m 55 sec
Warnings Level: 5
Reputation Power: 4686
Mokey? Have you investigated at all the things your are using?

Do you realize that all the **** ups that you are experiencing have been ****ed up lebenty-zillion times before? Do you actuallly think that you have discovered, anew, these various weaknesses?

You would have to work very hard to do that. Previously failures by competent people have resulted in various solutions, some bad some good.

Don't mind me. I'm just musing, here.
__________________
Write no code whose complexity leaves you wondering what the hell you did.
Politically Incorrect DaWei on Pointers Grumpy on Exceptions

Reply With Quote
  #10  
Old February 3rd, 2009, 12:57 AM
salem's Avatar
salem salem is offline
Contributing User
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jun 2005
Posts: 2,202 salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)salem User rank is Lieutenant General (80000 - 90000 Reputation Level)  Folding Points: 153 Folding Title: Novice Folder
Time spent in forums: 1 Month 2 Weeks 2 Days 23 h 26 m 58 sec
Reputation Power: 889
1. Read the manual page for fork(). You're running your test code in the parent, not the child.
2. Read the manual page for execl(). exec functions do NOT deal with command line parsing at all. So if you're trying to pass command line parameters, you need to do more work.
3. Read the manual pages for dup(), pipe() and close() for how to redirect the likes of stdout to a file.

Oh wait, is this just some pseudo-code you bashed in at the keyboard as a quick reply, and has no actual resemblance to your real code?

Reply With Quote
  #11  
Old February 3rd, 2009, 01:10 AM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
I don't understand what your talking about, especially sizeablegrin, hes very confusing.

Reply With Quote
  #12  
Old February 4th, 2009, 02:27 PM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
Code:
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{

     char small[32], big[128];
     int i = 16;

if(strstr(argv[1], "t8")) { i = 8; }
if(strstr(argv[1], "t16")) { i = 16; }
if(strstr(argv[1], "t32")) { i = 32; }
if(strstr(argv[1], "t64")) { i = 64; }
if(strstr(argv[1], "t128")) { i = 128; }

     memset(big, 'Z', sizeof(big));

     snprintf(small, i, "%s", big);
     printf("%s\n", small);

     return 0;

}


That is the program I am running through the parent. As you can see, if the values are t64 or t128, the program crashes. I simply want to run that program 5 times with the 5 different values and be able to see the segmentation faults when they occur.

Code:
bash$ ./bvss t8
ZZZZZZZ
bash$ ./bvss t16
ZZZZZZZZZZZZZZZ
bash$ ./bvss t32
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
bash$ ./bvss t64
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Segmentation fault
bash$ ./bvss t128
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ  ZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Segmentation fault
bash$

bash$ ./test
ZZZZZZZ
ZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ  ZZZZZZZZZZZZZZZZZZZZZZZZZZZ
bash$


Code:
void run(char *bin, char *data)
{

if(fork() == 0)
{

if(execl(bin, bin, data, 0) == -1)
{

     perror("execl");
     _exit(1);

}
}

else
{

int pid, status;

     pid = wait(&status);

}
}

.....

for(i = 0; i < 5; i++)
{

     run(PATH, data);

}


See as I've explained my complete situation, I still can't get my code to work. I ask kindly for a solution.

Reply With Quote
  #13  
Old February 4th, 2009, 02:51 PM
sizablegrin's Avatar
sizablegrin sizablegrin is offline
Crab
Dev Shed God 1st Plane (5500 - 5999 posts)
 
Join Date: Jun 2005
Posts: 5,936 sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level)sizablegrin User rank is General 56th Grade (Above 100000 Reputation Level) 
Time spent in forums: 2 Months 3 Weeks 2 Days 4 h 50 m 55 sec
Warnings Level: 5
Reputation Power: 4686
If you fill a buffer completely with 'Z's and try to treat it as a C-string, what do you suppose will happen?

Reply With Quote
  #14  
Old February 4th, 2009, 03:11 PM
kicken's Avatar
kicken kicken is offline
Wiser? Not exactly.
Dev Shed Demi-God (4500 - 4999 posts)
 
Join Date: May 2001
Location: Ft Myers, FL
Posts: 4,667 kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)kicken User rank is General 6th Grade (Above 100000 Reputation Level)  Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1Folding Points: 221067 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 1 Month 4 Weeks 1 Day 18 h 20 m 54 sec
Reputation Power: 1409
Send a message via ICQ to kicken Send a message via AIM to kicken Send a message via MSN to kicken
Quote:
Originally Posted by sizablegrin
If you fill a buffer completely with 'Z's and try to treat it as a C-string, what do you suppose will happen?

His program that fills the buffer with 'Z' is intended to crash. It's so he has something that will crash to test whether or not he's capturing the error stream.

As for mokeyjoe, have you read the manual pages and such as they asked?

http://www.manpagez.com/man/2/fork/
http://www.manpagez.com/man/3/exec/
__________________
Spidermonkey Tutorial; Fight me: http://aoeex.mybrute.com
http://www.aoeex.com/gmap.php - Put yourself on the map (Now Updated!)


Reply With Quote
  #15  
Old February 7th, 2009, 11:19 AM
mokeyjoe mokeyjoe is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2008
Posts: 50 mokeyjoe User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 5 h 28 m 8 sec
Reputation Power: 0
I finally got it to work using the signal catching solution.

Couple short questions:

1) snprintf() null terminates for us, so I don't need to do a snprintf(blah, sizeof(blah)-1 just sizeof(blah), correct?

2) With memset(blah, 'Z', sizeof(blah)), could I and would I need to null terminate blah like blah[SIZE] = '\0' or blah[SIZE-1] = '\0' or ?

Thanks again

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesC Programming > System() output


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump




 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 




© 2003-2010 by Developer Shed. All rights reserved. DS Cluster 5 Hosted by Hostway
For more Enterprise Application Development news, visit eWeek