fork

Would this be considered a memory leak?

Consider this pointless program: /* main.c */ #include <stdlib.h> #include <unistd.h> int main(int argc, char **argv) { int i; for (i = 0; i < 1024; i++) { int pid = fork(); int status; if (pid) { wait(&status); } else { char *ptr = (char *)malloc(1024*sizeof(char...

UNIX: Calling exec on the parent process after a fork

Hello, I am writing in my grammar, in LEX, some code to fork() my process and run a child. The child actually gets some input from the parent, and then returns a result. I need to call exec on the same binary that loaded the parent, but there I am having an issue. I know that exec does not mean complete sense, but I do this because I h...

How to view diff of a forked github project

I have forked a project on github and need to have a set of changes I made since I forked, in diff format. If you wonder - I've forked Apache httpd and I'm changing some code in core. Currently I'm not commiting any changes, running git diff, and use its output as a patch against vanilla httpd sources in an RPM building process. It is, ...

Would it be a good idea to make python store compile code in file stream instead of pyc files?

I'm wondering if it wouldn't be a better if Python would store the compiled code in a file stream of the original source file. This would work on file systems supporting forks/data-streams, and fall-back if this is not possible. On Windows using ADS (Alternative Data Streams) On OS X using resource forks On Linux using extended file at...

Using nohup or setsid in PHP as Fast CGI

I'm trying to do a potentially long background process in response to an incoming AJAX request, but using nohup or setsid via shell_exec causes the server to fork bomb. We use suexec and FastCGI, and when it bombs it took the entire server to a crawl. shell_exec("nohup /home/me/myscript.php"); The script doesn't do anything lengthy ri...

readline clash with child printf?

In Linux, readline() in an infinite loop repeatdly reads text\n. However, as soon as child processes start printing to the screen, readline no longer reads new lines. Even if I repeatdly press enter, readline() doesn't return. Anyone know what's wrong? Code sample as requested: char* input; int cpid; while(1) { input = readline("...

Does anyone here fork themself?

I use git all the time for my solo missions but I tend to just work the master. Should I try forking even if it's just me? ...

Why the output is printing twice?

May be it look childish for most of you but I am unable to understand this small piece of code. #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int main(int argc, char** argv) { int i, pid; pid = fork(); printf("Forking the pid: %d\n",pid); for(i =0; i<5; i++) ...

surefire forkMode causes only last test to be recorded in TestSuite.txt

I have the following in my pom.xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.6</version> <configuration> <excludes> <!-- exclude integration tests --> <exclude>**/IT*.j...

Continue PHP execution after sending HTTP response

How can I have PHP 5.2 (running as apache mod_php) send a complete HTTP response to the client, and then keep executing operations for one more minute? The long story: I have a PHP script that has to execute a few long database requests and send e-mail, which takes 45 to 60 seconds to run. This script is called by an application that ...

Do work out of process in a cocoa app?

I've got a cocoa app that needs to do some work in a second process (because it might crash due to buggy libraries). I'd like to keep my project as simple as possible, so ideally I would use the same binary as the parent process and just control the child with command line parameters. It would also be nice if the parent could get handl...

Redirecting forked process output to parent process in C

What I am implementing is a (simpler) version of bash. One of the tasks is to accept the command : $ bg <command> <arguments> This will then fork a new process and then run execvp() in the new process using <command> and <arguments> as parameters. The problem is that when I capture the output from the child process, I use pipe(), an...

Will a child process send SIGCHLD on abort()?

If an application does a fork() and the child dies with an abort() (due to failing an assert()), will the parent process receive a SIGCHLD? If it's relevant this is on Debian 4 (gcc version 4.1.2). ...

Spawn a background process in Ruby on Windows?

I am basically asking the same question as http://stackoverflow.com/questions/2504445/spawn-a-background-process-in-ruby, except I need to spawn a background process in a Windows environment! Unfortunately, my research has revealed that Windows doesn't support Ruby forks (only spoons. Rimshot!). ...

fork with Ruby 1.8 and Windows

I'm using ruby 1.8.7 patchlevel 302 and I'm working on a Windows xp system. I have to start an external process that needs to react on user input. The process doesn't react if I use threads, so I tried using fork. With fork the external process reacts on the user input but it executes more than just the fork block. For example fork do ...

how fork works with logical operators

main() { if (fork() || (fork() && fork())) printf("AA\n"); else if (!fork()) printf("BB\n"); else printf("CC\n"); } I have run the following code and get the results AA AA CC BB CC BB. While I understand how fork works, I don't understand what it does with logical operators. The teacher in our class wants us to ...

fork() and STDOUT/STDERR to the console from child processes

I'm writing a program that forks multiple child processes and I'd like for all of these child processes to be able to write lines to STDERR and STDOUT without the output being garbled. I'm not doing anything fancy, just emitting lines that end with a new line (that, at least in my understanding would be an atomic operation for Linux). F...

Can popen() make bidirectional pipes like pipe() + fork()?

I'm implementing piping on a simulated file system in C++ (with mostly C). It needs to run commands in the host shell but perform the piping itself on the simulated file system. I could achieve this with the pipe(), fork(), and system() system calls, but I'd prefer to use popen() (which handles creating a pipe, forking a process, and...

How do I spawn a daemon in uClinux using vfork?

This would be easy with fork(), but I've got no MMU. I've heard that vfork() blocks the parent process until the child exits or executes exec(). How would I accomplish something like this?: pid_t pid = vfork(); if (pid == -1) { // fail exit(-1); } if (pid == 0) { // child while(1) { // Do my daemon stuff } ...

shared memory is not shared between processes

Hi, I am writing a server program where it receives message from client and broadcast message to all previous clients. I need to create a shared memory between processes, but it seems that the shared memory is not working. Here is my code: int shmid2; key_t key2; void* shm2; string name_list; key2=ftok("tmp",'d'); //create if ((...