public inbox for linux-newbie@vger.kernel.org
 help / color / mirror / Atom feed
* Switching between foreground and background
@ 2003-09-22 10:48 Silambu Chelvan
  2003-09-22 15:37 ` John T. Williams
  0 siblings, 1 reply; 9+ messages in thread
From: Silambu Chelvan @ 2003-09-22 10:48 UTC (permalink / raw)
  To: linux-newbie

Hi all,
 
I have written some program with signal handler. Is
this possible, if 
one of the signals registered with my program is
raised, my program 
should goto background and should come to foreground
when some other of the 
registered signal is raised. how to do it? 
 
Any function available to switch a process between
foreground and 
background at runtime?
 
with regards,
M. SilambuChelvan


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: Switching between foreground and background
@ 2003-09-22 11:55 Markus Klotzbuecher
  2003-09-22 12:38 ` Silambu Chelvan
  0 siblings, 1 reply; 9+ messages in thread
From: Markus Klotzbuecher @ 2003-09-22 11:55 UTC (permalink / raw)
  To: linux-newbie

On Monday 22 September 2003 12:48 pm, Silambu Chelvan wrote:
> Hi all,
>
> I have written some program with signal handler. Is
> this possible, if
> one of the signals registered with my program is
> raised, my program
> should goto background and should come to foreground
> when some other of the
> registered signal is raised. how to do it?
>
> Any function available to switch a process between
> foreground and
> background at runtime?

Hi 

Switching a task between forground and background is nothing else as 
suspending and restarting. What i would try to do is, when you get the signal 
you want to suspend on, call the pause() function (see pause(2) ). When you 
get the signal you want to restart on, just do nothing as this will let the 
pause() function return and continue doing what happend before suspend.

Try something like this:

***************************************
#include <signal.h>
#include <stdio.h>

void suspend()
{
        printf("Suspending...\n");
        pause();
}

void wake()
{
        printf("Woken up.\n");
}

int main()
{

        signal(SIGUSR1, suspend);
        signal(SIGUSR2, wake);

        while(1) {
                /* do whatever */
                printf("doing whatever...\n");
                sleep(1);
        }
}

Cheers

        Markus
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2003-09-23 17:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-22 10:48 Switching between foreground and background Silambu Chelvan
2003-09-22 15:37 ` John T. Williams
2003-09-22 15:51   ` Silambu Chelvan
2003-09-23 11:01   ` Raghuveer
2003-09-23 16:07     ` John T. Williams
2003-09-23 17:24       ` Mariano Moreyra
  -- strict thread matches above, loose matches on Subject: below --
2003-09-22 11:55 Markus Klotzbuecher
2003-09-22 12:38 ` Silambu Chelvan
2003-09-22 14:37   ` Markus Klotzbuecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox