Sponsored Content
Top Forums Programming Question about execl, replacing process's contents Post 302987899 by SirSalt on Saturday 17th of December 2016 04:25:16 PM
Old 12-17-2016
Question Question about execl in C, replacing process's contents

I'm reading Operating Systems in Depth by Thomas W. Doeppner, and I have a question about execl. He says it's called after fork(), and that it replaces the text (code) of the current process and replaces it with the code of the new program. But that doesn't make sense to me.

Does that mean process A forks itself and its copy is process B, but process A's code is gone, and in its place is the code from process B?

OR does that mean process A forks itself and its copy is process B; process B loads a program into its text section, and now process B's text section is gone and in its place is the program it loaded?

Edit: I realize I forgot to mention the language the author uses in his examples is C

Last edited by SirSalt; 12-17-2016 at 07:08 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

replacing contents of files from a bash script

I'm writing a shell script and I need to replace the contents of a configuration file based on what is passed to the script...can I replace expressions in a file from a bash shell script? (2 Replies)
Discussion started by: HumanBeanDip
2 Replies

2. Shell Programming and Scripting

sed question - replacing param values

Hello, Do you have any idea why the below sed command is also replacing the value of "PARAMETER2" instead of just "PARAMETER" in file1 ? % parameter=PARAMETER % new_value=2 % cat file1 PARAMETER=1 PARAMETER2=1 % cat file1 | sed s/*$/${new_value}/1 PARAMETER=2 PARAMETER2=2 Thanks. (3 Replies)
Discussion started by: majormark
3 Replies

3. Shell Programming and Scripting

Replacing contents in a file from multiple programmes

Hi All, I have a query on Perl. I have a text file which has 3 lines, i want to only replace the first line with my replaced text and keep the rest of the text. FOr eg Before change --> echo:a:pending echo:b:pending echo:c:pending After change ---> echo:a:done echo:b:pending... (1 Reply)
Discussion started by: tosatesh
1 Replies

4. Shell Programming and Scripting

replacing text with contents from another file

I'm trying to change the ramfs size in kernel .config automatically. I have a ramfs_size file generated with du -s cat ramfs_size 64512 I want to replace the linux .config's ramdisk size with the above value CONFIG_BLK_DEV_RAM_SIZE=73728 Right now I'm doing something dumb like: ... (3 Replies)
Discussion started by: amoeba
3 Replies

5. Shell Programming and Scripting

Replacing string in all instances (both filenames and file contents) in a directory

Hi, I have a set of files stored in a single directory that I use to set parameters for a physics code, and I would like to streamline the process of updating them all when I change a parameter. For instance, if the files are called A2000p300ini, A2000p300sub, A2000p300run, and the text in each... (3 Replies)
Discussion started by: BlueChris
3 Replies

6. Shell Programming and Scripting

sed command for copying the contents of other file replacing it another file on specifc pattern

We have 2 file XML files - FILE1.XML and FILE2.xml - we need copy the contents of FILE1.XML and replace in FILE2.xml pattern "<assignedAttributeList></assignedAttributeList>" FILE1.XML 1. <itemList> 2. <item type="Manufactured"> 3. <resourceCode>431048</resourceCode> 4. ... (0 Replies)
Discussion started by: balrajg
0 Replies

7. Shell Programming and Scripting

Perl question - How do I print contents of an array on a single line?

I have the following code: print @testarray; which returns: 8 8 8 9 How do I return the array like this: The output is: 8, 8, 8, 9 (5 Replies)
Discussion started by: streetfighter2
5 Replies

8. UNIX for Dummies Questions & Answers

Replacing a particular string in all files in folder and file contents

I need to replace all filesnames in a folder as well as its content from AK6 to AK11. Eg Folder has files AK6-Create.xml, AK6-system.py etc.. the files names as well as contents should be changes to AK9-Create.xml, AK9-system.py etc All files are xml and python scripts. ---------- Post... (0 Replies)
Discussion started by: Candid247
0 Replies

9. UNIX for Dummies Questions & Answers

problem using execl to start a tftp process

Hi, I'm very new to Linux but have been muddling my way through quite happily until recently. I'm trying to write a program in C++ which starts a new process using the execl command. I am trying to run the tftp process as follows: char ip_addr = "..."; if (execl("usr/bin/tftp", "tftp",... (2 Replies)
Discussion started by: JoC
2 Replies

10. UNIX for Dummies Questions & Answers

[Quick question]Problem with execl and GREP

Guys, I have the following code #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/wait.h> #include <unistd.h> void read2(); main(int argc, char** argv) { int pid,status; pid=fork(); if ( pid == 0 ) { read2(argv,... (4 Replies)
Discussion started by: pfpietro
4 Replies
FORK(2) 							System Calls Manual							   FORK(2)

NAME
fork - create a new process SYNOPSIS
#include <sys/types.h> #include <unistd.h> pid_t fork(void) DESCRIPTION
Fork causes creation of a new process. The new process (child process) is an exact copy of the calling process except for the following: The child process has a unique process ID. The child process has a different parent process ID (i.e., the process ID of the parent process). The child process has its own copy of the parent's descriptors. These descriptors reference the same underlying objects, so that, for instance, file pointers in file objects are shared between the child and the parent, so that an lseek(2) on a descriptor in the child process can affect a subsequent read or write by the parent. This descriptor copying is also used by the shell to establish standard input and output for newly created processes as well as to set up pipes. The child starts with no pending signals and an inactive alarm timer. RETURN VALUE
Upon successful completion, fork returns a value of 0 to the child process and returns the process ID of the child process to the parent process. Otherwise, a value of -1 is returned to the parent process, no child process is created, and the global variable errno is set to indicate the error. ERRORS
Fork will fail and no child process will be created if one or more of the following are true: [EAGAIN] The system-imposed limit on the total number of processes under execution would be exceeded. This limit is configuration- dependent. (The kernel variable NR_PROCS in <minix/config.h> (Minix), or <minix/const.h> (Minix-vmd).) [ENOMEM] There is insufficient (virtual) memory for the new process. SEE ALSO
execve(2), wait(2). 3rd Berkeley Distribution May 22, 1986 FORK(2)
All times are GMT -4. The time now is 11:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy