10-21-2008
Processes create/join
I'm working with some code in php that creates a process and I want the main program to wait till that process is done running then come back and join.
<code>
$pid = pcntl_fork();
if ($pid == -1){
die('could not fork');
}
else if ($pid){
pcntl_wait($status);
}
else{
echo shell_exec($command);
}
<code>
$command is a variable which has the name of the program (and it's arguments) I am trying to run as a new process and that's what I want to wait for. I'm pretty new at this php stuff so if anyone could help with this I'd appreciate it.
Additionally if it is possible to display something to the web page screen to let the user know the process is working(because it takes a minute or so) and then let them know once the process has joined that would also help immensly. Thanks for your help with this.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
helo i make one process for com port . in that i create two thread one for reading data and another for writing data to com port.
now i want to write a script which create 30 processes for handling 30 com port.
is it good solution for handling 30 com port.
Thx & Regards,
Amit (2 Replies)
Discussion started by: amitpansuria
2 Replies
2. Programming
How can we create a background process programmatically?
One way I know of is to fork() and exit from the parent process, leaving the child running. It will run as a background process.
I would like to know if there are any other ways.
In perticular how are daemon processes created? (1 Reply)
Discussion started by: ipzig
1 Replies
3. Programming
example sql:
select a.a1,b.b1,c.c1,d.d1,e.e1
from a
left outer join b on a.x=b.x
left outer join c on b.y=c.y
left outer join d on d.z=a.z
inner join a.t=e.t
I know how single outer or inner join works in sql.
But I don't really understand when there are multiple of them.
can... (0 Replies)
Discussion started by: robbiezr
0 Replies
4. UNIX for Dummies Questions & Answers
Hello,
My apologies if this has been posted elsewhere, I have had a look at several threads but I am still confused how to use these functions. I have two files, each with 5 columns:
File A: (tab-delimited)
PDB CHAIN Start End Fragment
1avq A 171 176 awyfan
1avq A 172 177 wyfany
1c7k A 2 7... (3 Replies)
Discussion started by: InfoSeeker
3 Replies
5. Shell Programming and Scripting
Hi, I'm doing a script that generate some background process like
for file in `find $dir -type f -maxdepth 1 -mtime -1`;
do
exp="java -cp process.jar testing $file &"
eval $exp
echo $! #Get the PID
echo $(basename $file) >> log
done
Is there a way to know when those... (1 Reply)
Discussion started by: amondracorp
1 Replies
6. Homework & Coursework Questions
I need help program in C... :create a program that runs two processes linked oven (1 Reply)
Discussion started by: gizmo16
1 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I have 20 tab delimited text files that have a common column (column 1). The files are named GSM1.txt through GSM20.txt. Each file has 3 columns (2 other columns in addition to the first common column).
I want to write a script to join the files by the first common column so that in the... (5 Replies)
Discussion started by: evelibertine
5 Replies
8. Shell Programming and Scripting
I have 2 files namely branch.txt file & RXD.txt file as below
Ex:Branch.txt
=========================
B1,Branchname1,city,country
B2,Branchname2,city,country
B3,Branchname3,city,country
B4,Branchname4,city,country
B5,Branchname5,city,country
RXD file : will... (11 Replies)
Discussion started by: satece
11 Replies
9. Shell Programming and Scripting
I have two directories called English and Hindi. Each directory contains the same number of files with the only difference being that in the case of the English Directory the tag is
.english
and in the Hindi one the tag is
.Hindi
The file may contain either a single text or more than one text... (7 Replies)
Discussion started by: gimley
7 Replies
10. Shell Programming and Scripting
Hello,
This post is already here but want to do this with another way
Merge multiples files with multiples duplicates keys by filling "NULL" the void columns for anothers joinning files
file1.csv:
1|abc
1|def
2|ghi
2|jkl
3|mno
3|pqr
file2.csv:
1|123|jojo
1|NULL|bibi... (2 Replies)
Discussion started by: yjacknewton
2 Replies
LEARN ABOUT PHP
pcntl_waitpid
PCNTL_WAITPID(3) 1 PCNTL_WAITPID(3)
pcntl_waitpid - Waits on or returns the status of a forked child
SYNOPSIS
int pcntl_waitpid (int $pid, int &$status, [int $options])
DESCRIPTION
Suspends execution of the current process until a child as specified by the $pid argument has exited, or until a signal is delivered whose
action is to terminate the current process or to call a signal handling function.
If a child as requested by $pid has already exited by the time of the call (a so-called "zombie" process), the function returns immedi-
ately. Any system resources used by the child are freed. Please see your system's waitpid(2) man page for specific details as to how wait-
pid works on your system.
PARAMETERS
o $pid
- The value of $pid can be one of the following:
possible values for $pid
+-----+---------------------------------------------------+
| | |
|< -1 | |
| | |
| | wait for any child process whose process group |
| | ID is equal to the absolute value of $pid. |
| | |
| | |
| -1 | |
| | |
| | wait for any child process; this is the same be- |
| | haviour that the wait function exhibits. |
| | |
| | |
| 0 | |
| | |
| | wait for any child process whose process group |
| | ID is equal to that of the calling process. |
| | |
| | |
|> 0 | |
| | |
| | wait for the child whose process ID is equal to |
| | the value of $pid. |
| | |
+-----+---------------------------------------------------+
Note
Specifying -1 as the $pid is equivalent to the functionality pcntl_wait(3) provides (minus $options).
o $status
-pcntl_waitpid(3) will store status information in the $status parameter which can be evaluated using the following functions:
pcntl_wifexited(3), pcntl_wifstopped(3), pcntl_wifsignaled(3), pcntl_wexitstatus(3), pcntl_wtermsig(3) and pcntl_wstopsig(3).
o $options
- The value of $options is the value of zero or more of the following two global constants OR'ed together:
possible values for $options
+----------+---------------------------------------------------+
| | |
| WNOHANG | |
| | |
| | return immediately if no child has exited. |
| | |
| | |
|WUNTRACED | |
| | |
| | return for children which are stopped, and whose |
| | status has not been reported. |
| | |
+----------+---------------------------------------------------+
RETURN VALUES
pcntl_waitpid(3) returns the process ID of the child which exited, -1 on error or zero if WNOHANG was used and no child was available
SEE ALSO
pcntl_fork(3), pcntl_signal(3), pcntl_wifexited(3), pcntl_wifstopped(3), pcntl_wifsignaled(3), pcntl_wexitstatus(3), pcntl_wtermsig(3),
pcntl_wstopsig(3).
PHP Documentation Group PCNTL_WAITPID(3)