matrixmadhan:
It's me again!
The kill function doesn't have to terminate another process. There are other signals that it can send. You can send several different signals to another process with it, such as:
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE
9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG
17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD
21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGLOST 30) SIGUSR1 31) SIGUSR2 32) SIGRTMAX
If both processes agree on a signal for communication, then you can put a signal handling function in your processes to receive the messages. For example, you could use SIGUSR1 to let P2 tell P1 that the text report is done. Then you could send SIGUSR2 to indicate that the spreadsheet is done.
...roboticus |