Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users exec
# 1  
Old 12-30-2007

I have read that exec "replaces the current process with a new one".

So I did

$ exec ls

and after this executed, my shell disappeared. I am assuming that my shell had PID xyz, and when I did exec ls, this ls got pid xyz, and when it terminated, there was no more shell process running, and so it terminated. Is this correct??

Second question, say I am running a Java program, and I do a system call, of exec ls. Does this mean that the Java process will be replaced by ls?

Thanks in advance.
# 2  
Old 12-30-2007
for exec ls,

the child process ls - will replace the address space of the parent process which is the interpretor, after exec effectively there is only one address space in execution previously it was the parent ( shell ) and now its the child ( ls )

After execution of ls, like any other binary - ls also terminates. Once it terminates the session also closes as there is no effective program running
# 3  
Old 12-30-2007
As the adverts says: "It does exactly what it says on the tin."
# 4  
Old 12-30-2007
oh, I get it. The parent is replaced by the child. Yes, makse sense.

# 5  
Old 12-30-2007
Originally Posted by JamesByars
oh, I get it. The parent is replaced by the child. Yes, makse sense.

Almost, there is no child process created. Smilie

In UNIX a process is a running entity managed by the operating system and a program is a file on disk.

In MS-DOS, Windows, OS/2, classic MacOS the only way to create a process was to run a program and the OS would create a new process to run the program.

In UNIX they are two separate activities (a) create a new process, ie, fork and (b) replace the current running program with a new program, eg exec.

So in Windows what would be "CreateProcess" is in UNIX a fork followed by exec. Although 99% of the time we want to fork/exec there are a few occasions where replacing the current program is the thing to do.
# 6  
Old 12-30-2007
Ah. I get it (this time I do!!!) Smilie

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script Variables Inquiry, Values Okay in Standalone Exec, No-Show in Cron Exec

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)
Discussion started by: ginowms
3 Replies

2. UNIX for Advanced & Expert Users

Using -exec with and without -name

Hi, I need to delete the last N days file using find. I am trying to use find . -mtime -10 -print which lists down required files. but when i use find . -mtime -10 -exec ls -lrt {} \; it gives me all files in the directory including the required files but the required files... (7 Replies)
Discussion started by: v_m1986
7 Replies

3. UNIX for Dummies Questions & Answers


Hi, i don't understand this part of one script exec >> $Log_File 2>&1 (1 Reply)
Discussion started by: messi777
1 Replies

4. Ubuntu

Find and exec

Hello, I am a linux newbe. I want to install a program. I can download it only with wget command from internet. As far as i know this wget command does not transfer the exacutable flags. Because of that i wanted to find all configure files and change their mod to 744. I found this... (1 Reply)
Discussion started by: disconnectus
1 Replies

5. UNIX for Advanced & Expert Users

-exec cp

Hi, on AIX 6.L I want to copy the result of grep -v to test directory then : `hostname`@oracle$ls -l | grep -v RINT -exec cp {} test grep: can't open -exec grep: can't open cp grep: can't open {} test:`. Can you help me ? Thank you. (3 Replies)
Discussion started by: big123456
3 Replies

6. Shell Programming and Scripting

exec in tcl

Hello; I have a console application who shown a output in every iteration, now i create a small GUI to call the application with button etc..., but what must i do to follow showing the output in the screen? Advanced thanks, Pablo (0 Replies)
Discussion started by: pablodecastillo
0 Replies

7. Shell Programming and Scripting

exec tclsh

As a part of learning shell scripting I was just going through some already created scripts there I found- exec tclsh "$0" $(1+"$@") Here I was able to find what exec ,tclsh does & o/p of same but I could not find usage & output of $(1+"$@"). Can anybody pls expalain me usage details of it? (5 Replies)
Discussion started by: rediffmail
5 Replies

8. Shell Programming and Scripting

Help with use of `` vs exec

Hi all, I had an issue regarding use of `` or exec in perl . `` are considered to be unsafe. Why? In my case an user would be giving some parameters as input and I will form an command of it and execute it using ``. It is important to capture output as i have to parse the output. As well as I need... (0 Replies)
Discussion started by: bharadiaam
0 Replies

9. Shell Programming and Scripting


In exec function say when i would like to remove the files exec rm{}\; Why is this "\" needed immediately after {} and what if i dont give it? TIA, Nisha (1 Reply)
Discussion started by: Nisha
1 Replies
Login or Register to Ask a Question