Sponsored Content
Full Discussion: exec() system call
Top Forums Programming exec() system call Post 47096 by Perderabo on Monday 2nd of February 2004 10:10:30 PM
Old 02-02-2004
No part of the program is in the user area. Exactly what is there varies from one version of unix to the next. But some possible examples:

process start time
controlling terminal of process
current directory of the process
size of the stack
size of the data segment
uid of the process

In short its a bunch of stuff that the kernel needs to manage the process. But the kernel stores it in the process to keep the kernel small. This made sense when computers had 16 bit addresses. It makes less sense these days with 32 or even 64 bit addresses. Some kernels are moving a lot of stuff out of the uarea and into the proc table.

If you poke around /usr/include, you may find user.h which will show exactly what's in your uarea.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

how to differentiate system call from library call

Hi, Ho do I differentiate system call from library call? for example if I am using chmod , how do I find out if it is a system call or library call? Thanks Muru (2 Replies)
Discussion started by: muru
2 Replies

2. Programming

alternatives of exec() system function

Hi , Can anybody name any System Function in C/C++ for Sun-Solaris (unix) platform which can serve the alternative of execl() system function. Actually I am calling a fork-execl() pair and then making an interprocess communication between these two(parent-child process). But the problem is... (3 Replies)
Discussion started by: Raj Kumar Arora
3 Replies

3. UNIX for Advanced & Expert Users

exec to call specific function in C prog

I would like to call a particular function in a C program using execl(). Is this possible using execl or anyother function ? Thanks (2 Replies)
Discussion started by: vpraveen84
2 Replies

4. Shell Programming and Scripting

How to execute piped command using exec or system

Hi All, I want to execute a piped command like 'ls /opt | grep xml' using array as parameters list. How can I do that? (2 Replies)
Discussion started by: bharadiaam
2 Replies

5. Shell Programming and Scripting

system call

Hi, How to write a system calls in a script ? > cd $HOME > ls -ltr thanks in advance.. (10 Replies)
Discussion started by: hegdeshashi
10 Replies

6. Shell Programming and Scripting

Perl variables in exec or system

I am new in Perl. I am working in simple script and the varibles are working well outside the exec or system command. but they don't work as parameters to exec or system command. The script is attached. please help. (8 Replies)
Discussion started by: ahmed_zaher
8 Replies

7. UNIX for Dummies Questions & Answers

How to run two commands from a exec call in a c program

Hi, I have to run two commands one after another from a c program. How can i do this with exec system calls. i tried giving them as argument to execv but it is not working.please help thanks (3 Replies)
Discussion started by: suryashikha
3 Replies

8. Programming

system call

I have a cgi script which is called after certain time interval, which has this: system ("ls -l /tmp/cgic* | grep -v \"cgicsave.env\" | awk '{print $5}'"); During the execution of this script,the output is 0 sometimes. But due to this the system call is not working at all and doesnt o/p... (2 Replies)
Discussion started by: xs2punit
2 Replies

9. Programming

need help with system call

hi everyone i wrote a system call and compiled the kernel succesfully... my system call is in a file in the kernel folder named my_syscall1.c (kernel/my_syscall1.c) the header file for this system call i added it in the folder include like this include/my_syscall1/my_syscall1.h my problem is... (2 Replies)
Discussion started by: demis87
2 Replies

10. Programming

[C] exec system call

Hi again ;) Now I want to make a program that will execute the programs with exec, asking the user if he wants the program to run in background or foreground. scanf("%c",&caracter); if (caracter=='y'){ printf("Has decidido ejecutarlo en background\n"); if((pid=fork())==0) {// fork para... (3 Replies)
Discussion started by: lamachejo
3 Replies
PROC(3) 						     Library Functions Manual							   PROC(3)

NAME
proc - running processes SYNOPSIS
bind #p /proc /proc/n/ctl /proc/n/mem /proc/n/note /proc/n/noteid /proc/n/notepg /proc/n/proc /proc/n/segment /proc/n/status /proc/n/text /proc/n/wait ... DESCRIPTION
The proc device serves a two-level directory structure. The first level contains numbered directories corresponding to pids of live pro- cesses; each such directory contains a set of files representing the corresponding process. The mem file contains the current memory image of the process. A read or write at offset o, which must be a valid virtual address, accesses bytes from address o up to the end of the memory segment containing o. Kernel virtual memory, including the kernel stack for the process and saved user registers (whose addresses are machine-dependent), can be accessed through mem. Writes are permitted only while the process is in the Stopped state and only to user addresses or registers. The read-only proc file contains the kernel per-process structure. Its main use is to recover the kernel stack and program counter for kernel debugging. The read-only segment file contains a textual display of the memory segments attached to the process. Each line has multiple fields: the type of segment (Stack, Text, Data, Bss, etc.); one-letter flags such as R for read-only, if any; starting virtual address, in hexadecimal; ending virtual address, and reference count. The read-only status file contains a string with eight fields, each followed by a space. The fields are: the process name and user name, each 27 characters left justified; the process state, 11 characters left justified (see ps(1)); the six 11-character numbers also held in the process's #c/cputime file, and the amount of memory used by the process, except its stack, in units of 1024 bytes. The text file is a pseudonym for the file from which the process was executed; its main use is to recover the symbol table of the process. The wait file may be read to recover Waitmsg records from the exiting children of the process. If the process has no extant children, liv- ing or exited, a read of wait will block. It is an error for a process to attempt to read its own wait file when it has no children. When a process's wait file is being read, the process will draw an error if it attempts a wait system call; similarly, if a process is in a wait system call, its wait file cannot be read by any process. Textual messages written to the ctl file control the execution of the process. Some require that the process is in a particular state and return an error if it is not. stop Suspend execution of the process, putting it in the Stopped state. start Resume execution of a Stopped process. waitstop Do not affect the process directly but, like all other messages ending with stop, block the process writing the ctl file until the target process is in the Stopped state or exits. Also like other stop control messages, if the target process would receive a note while the message is pending, it is instead stopped and the debugging process is resumed. startstop Allow a Stopped process to resume, and then do a waitstop action. hang Set a bit in the process so that, when it completes an exec(2) system call, it will enter the Stopped state before returning to user mode. This bit is inherited across a fork(2). nohang Clear the hang bit. kill Kill the process the next time it crosses the user/kernel boundary. Strings written to the note file will be posted as a note to the process (see notify(2)). The note should be less than characters long; the last character is reserved for a terminating NUL character. A read of at least characters will retrieve the oldest note posted to the process and prevent its delivery to the process. The notepg file is similar, but the note will be delivered to all the processes in the target process's note group (see fork(2)). However, if the process doing the write is in the group, it will not receive the note. The notepg file is write-only. The textual noteid file may be read to recover an integer identifying the note group of the process (see RFNOTEG in fork(2)). The file may be written to cause the process to change to another note group, provided the group exists and is owned by the same user. FILES
/sys/src/9/*/mem.h /sys/src/9/*/dat.h SEE ALSO
debugger(2), mach(2), cons(3) SOURCE
/sys/src/9/port/devproc.c PROC(3)
All times are GMT -4. The time now is 10:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy