02-01-2004
another qustion about fork
hi there this program runs
but i m jus trying out a few things here to have an indepth knowledge about different possibilities.
can someone comment on this please.
#include<stdio.h>
#define DIM 8
int main()
{
int pid, i, ans;
int arr[DIM] = {1,2,3,4,5,6,7,8};
pid = fork();
/*printf("%d\n",pid);
printf("%d\n",getpid());
printf("%d\n",getppid());
*/
if(pid==0)
{
ans = 0;
for(i=0;i<DIM;i++)
{
ans = ans + arr[i];
printf("Child sum %d\n", ans);
}
_exit(0);
}
// printf("%d\n",getpid());
if(pid<0)
{
fprintf(stderr, "error\n");
exit(1);
}
ans = 1;
for(i=0;i<DIM;i++)
{
ans = ans * arr[i];
printf("Parent %d\n",ans);
}
}
===========
heres my out put
Child sum 1
Child sum 3
Child sum 6
Child sum 10
Child sum 15
Child sum 21
Child sum 28
Child sum 36
Parent 1
Parent 2
Parent 6
Parent 24
Parent 120
Parent 720
Parent 5040
Parent 40320
=========
question: what if i had an if loop sayin
if(pid>0)
{
ans = 1;
for(i=0;i<DIM;i++)
{
ans = ans * arr[i];
printf("Parent %d\n",ans);
}
}
the only difference here is i put a condition. but if i don't have a condition what would happen?
is there any difference?
does it matter?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
What is a fork? Why would one create a fork? What are the advantages and disadvantages of using a fork?
Please advise.
Thank You.
Deepali (5 Replies)
Discussion started by: Deepali
5 Replies
2. UNIX for Dummies Questions & Answers
I have a basic question - how do I create and then use a mail list to be able to send a mailx email to multiple recipients.
I assume I create a test file using vi, containing the email addresses - but what is the format - are the addresses separated by ";", or by spaces, ....???
Is there a... (1 Reply)
Discussion started by: HikerLT
1 Replies
3. Programming
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#define MAX_COUNT 200
#define BUF_SIZE 100
void main(void)
{
pid_t pid;
int i;
char buf;
fork();
pid = getpid();
for (i = 1; i <= MAX_COUNT; i++) {
sprintf(buf,... (2 Replies)
Discussion started by: MKSRaja
2 Replies
4. Programming
Hello all.
I'm developing a filetransfer application, which is supposed to work sort of like dcc, with multiple transfers etc. Now i wonder what the best way to manage the transfers is. Should i fork() for each new transfer, hogging loads of memory or use pthreads? Maybe I can use select to see... (0 Replies)
Discussion started by: crippe
0 Replies
5. Programming
hi all
About this code
for (i = 1; i < n; i++)
if ((childpid = fork()) <= 0)
break;
I really can't understand the output .
and the way fork () return the value .
how about the process Id ,the child process Id and the parent ID
in this case
so please answer me soon (5 Replies)
Discussion started by: iwbasts
5 Replies
6. Programming
Hi everybody,
I wanna write a code to understand how fork works.
my target
--------------
-Parent creates a file(called temp) and writes into this file "1".Then it closes the file.
-Then parent creates a child and wait until execution of this child ends.
-Then child opens the same... (3 Replies)
Discussion started by: alexicopax
3 Replies
7. UNIX for Advanced & Expert Users
Hi,
I wrote a simple program for understanding the fork command. The code is as below
int main(void)
{
fork(); printf("hi 1 \n");
fork(); printf("hi 2 \n");
fork(); printf("hi 3 \n");
}
I am getting a variation in the number of times the printf is called if i remove the \n from each of... (1 Reply)
Discussion started by: xyz123456
1 Replies
8. Programming
Hi,
I wrote a simple program for understanding the fork command. The code is as below
int main(void)
{
fork(); printf("hi 1 \n");
fork(); printf("hi 2 \n");
fork(); printf("hi 3 \n");
}
I am getting a variation in the number of times the printf is called if i remove the \n from each... (2 Replies)
Discussion started by: xyz123456
2 Replies
9. Programming
does fork() spawn only the parent process, what if fork() is looped, does it spawn the parent and the child? (4 Replies)
Discussion started by: Peevish
4 Replies
10. UNIX for Dummies Questions & Answers
I'm trying to run a simple test on how to use fork(), i'm able to execute the child process first then the parent, but how can I execute parent then child..?
Thanks! (1 Reply)
Discussion started by: l flipboi l
1 Replies
LEARN ABOUT DEBIAN
dbconfig-generate-include
dbconfig-generate-include(1) dbconfig-common dbconfig-generate-include(1)
NAME
dbconfig-generate-include - generate custom format db include files
SYNOPSIS
dbconfig-generate-include [-hv] [-f format] [-o options] [-a] [-d[varname]] [-u[varname]] [-p[varname]] [-s[varname]] [-P[varname]]
[-t[varname]] [-C[commentstr]] [-O owner[:group]] [-m mode] [-U] infile [outfile]
DESCRIPTION
dbconfig-generate-include is a program to generate custom format include files containing the information necessary to connect a program to
a database resource.
OPTIONS
infile use the given dbconfig-common config file as input
outfile
use the given file as input (default: stdout)
-f|--format
use the given output format (default: sh)
-o|--options
pass options specific to an output format in a semicolon seperated list. see OUTPUT FORMATS/OPTIONS for more information.
-a|--all
include all information in output (default)
-d|--dbname
include the dbname in the output
-p|--dbpass
include the dbpass in the output
-s|--dbserver
include the dbserver in the output
-P|--dbport
include the dbport in the output
-u|--dbuser
include the dbuser in the output
-t|--dbtype
include the dbtype in the output
-C|--comment
"comment out" any unset variables, using a string appropriate comment string for the programming language in question. can be over-
ridden with an optional parameter as an arbitrary comment.
-O|--owner
set the owner:group of the output file
-m|--mode
set the permissions on the output file
-U|--ucf
register the outputfile with ucf
-h|--help
display this helpful message
-v|--version
output the version and exit
OUTPUT FORMATS
/OPTIONS
format is one of a list of include-file style formats for various programming languages. the current list includes:
sh /bin/sh style include file.
perl perl parseable include file.
php php parseable include file.
template
a file which contains a series of fields to be replaced with actual values. all substitutable fields consist of the underlying dbc_
variable name capitalized and surrounded with underscores. for example: _DBC_DBUSER_.
options: template_infile (path to input file containing template)
cpp c-style header file, using #define'd constants.
sean finney March 2005 dbconfig-generate-include(1)