* Re: Switching between foreground and background
[not found] ` <3F702813.8030200@gsecone.com>
@ 2003-09-23 16:07 ` John T. Williams
2003-09-23 16:19 ` guide to inline assembly palash kasodhan
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: John T. Williams @ 2003-09-23 16:07 UTC (permalink / raw)
To: rvk, John T. Williams; +Cc: Silambu Chelvan, linux-newbie, linux-c-programming
I have to admit that I don't know why, but every resource I've ever read
about causing programs to gain daemon behavior has involved forking 2 times
and then starting the program code. If anyone here does know why, I'd would
be happy to hear it.
----- Original Message -----
From: "Raghuveer" <rvk@gsecone.com>
To: "John T. Williams" <jtwilliams@vt.edu>
Cc: "Silambu Chelvan" <silambu_mdu@yahoo.com>;
<linux-newbie@vger.kernel.org>
Sent: Tuesday, September 23, 2003 7:01 AM
Subject: Re: Switching between foreground and background
> John T. Williams wrote:
>
> >I think part of the problem here might be conceptual.
> >
> >If I understand what you want, you'd like, on a signal, for your program
to
> >go into the background (still running but no longer blocking the terminal
> >input/output). On another signal you would like the program to come back
to
> >the foreground.
> >
> >If this is the case, the problem you're facing is that the program being
in
> >the foreground and the background is actually part of the shell, not a
> >property of the program running. Most Shells provide a way to switch
> >programs from the foreground to the background and back.
> >BASH for example I could type
> >
> >$>./myprogram
> >(cntr + Z) //suspends the current program and prings the prompt back
> >$>bg (runs the program in the background)
> >
> >The only way that I know of to force a program to run in the background
in
> >the code is to make it a daemon which is done by forking twice
> >
> >int main( ) {
> > if(fork()==0) {
> > if( fork() == 0 ) {
> > program code starts here
> > }
> > exit(0);
> > }
> > exit(0);
> >}
> >
> >
> I don't feel it's required to fork() twice for making it a daemon, once
> is enough. Ya, but should use setpgrp() or setpid() and close stdin, out
> and err after the fork and go to infinite loop.
>
> -Raghu
>
> >
> >----- Original Message -----
> >From: "Silambu Chelvan" <silambu_mdu@yahoo.com>
> >To: <linux-newbie@vger.kernel.org>
> >Sent: Monday, September 22, 2003 6:48 AM
> >Subject: Switching between foreground and background
> >
> >
> >
> >
> >>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
> >>
> >>
> >
> >-
> >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
> >
> >
> >
>
>
> -
> 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] 7+ messages in thread
* guide to inline assembly
2003-09-23 16:07 ` Switching between foreground and background John T. Williams
@ 2003-09-23 16:19 ` palash kasodhan
2003-09-23 17:57 ` Progga
2003-09-23 17:24 ` Switching between foreground and background Mariano Moreyra
2003-09-24 14:36 ` gcc : cpp Memory Exhausted Matthew Studley
2 siblings, 1 reply; 7+ messages in thread
From: palash kasodhan @ 2003-09-23 16:19 UTC (permalink / raw)
To: linux-c-programming
Hi
I was looking for a tutorial / guide about mixing C and assembly
code. If some one can point a good guide , that would be great.
palash
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: Switching between foreground and background
2003-09-23 16:07 ` Switching between foreground and background John T. Williams
2003-09-23 16:19 ` guide to inline assembly palash kasodhan
@ 2003-09-23 17:24 ` Mariano Moreyra
2003-09-24 14:36 ` gcc : cpp Memory Exhausted Matthew Studley
2 siblings, 0 replies; 7+ messages in thread
From: Mariano Moreyra @ 2003-09-23 17:24 UTC (permalink / raw)
To: 'John T. Williams', rvk
Cc: 'Silambu Chelvan', linux-newbie, linux-c-programming
I don't know if that's the way to gain daemon behavior. If you fork twice,
your process stills attached to the controlling terminal.
I guess you could finish that terminal session without problem. But I think
that a real daemon has to detach him self from the controlling tty.
You can do that, like Raghu said, calling setpgrp and setsid and closing
stdout an err.
There is also a function in unistd that does all of this for you.
int daemon(int nochdir,int noclose); (see "man daemon")
Don't know if exists in all unix or linux distros. But it seems to work.
Saludos.
Manuk
-----Mensaje original-----
De: linux-c-programming-owner@vger.kernel.org
[mailto:linux-c-programming-owner@vger.kernel.org]En nombre de John T.
Williams
Enviado el: Martes, 23 de Septiembre de 2003 13:07
Para: rvk@gsecone.com; John T. Williams
CC: Silambu Chelvan; linux-newbie@vger.kernel.org;
linux-c-programming@vger.kernel.org
Asunto: Re: Switching between foreground and background
I have to admit that I don't know why, but every resource I've ever read
about causing programs to gain daemon behavior has involved forking 2 times
and then starting the program code. If anyone here does know why, I'd would
be happy to hear it.
----- Original Message -----
From: "Raghuveer" <rvk@gsecone.com>
To: "John T. Williams" <jtwilliams@vt.edu>
Cc: "Silambu Chelvan" <silambu_mdu@yahoo.com>;
<linux-newbie@vger.kernel.org>
Sent: Tuesday, September 23, 2003 7:01 AM
Subject: Re: Switching between foreground and background
> John T. Williams wrote:
>
> >I think part of the problem here might be conceptual.
> >
> >If I understand what you want, you'd like, on a signal, for your program
to
> >go into the background (still running but no longer blocking the terminal
> >input/output). On another signal you would like the program to come back
to
> >the foreground.
> >
> >If this is the case, the problem you're facing is that the program being
in
> >the foreground and the background is actually part of the shell, not a
> >property of the program running. Most Shells provide a way to switch
> >programs from the foreground to the background and back.
> >BASH for example I could type
> >
> >$>./myprogram
> >(cntr + Z) //suspends the current program and prings the prompt back
> >$>bg (runs the program in the background)
> >
> >The only way that I know of to force a program to run in the background
in
> >the code is to make it a daemon which is done by forking twice
> >
> >int main( ) {
> > if(fork()==0) {
> > if( fork() == 0 ) {
> > program code starts here
> > }
> > exit(0);
> > }
> > exit(0);
> >}
> >
> >
> I don't feel it's required to fork() twice for making it a daemon, once
> is enough. Ya, but should use setpgrp() or setpid() and close stdin, out
> and err after the fork and go to infinite loop.
>
> -Raghu
>
> >
> >----- Original Message -----
> >From: "Silambu Chelvan" <silambu_mdu@yahoo.com>
> >To: <linux-newbie@vger.kernel.org>
> >Sent: Monday, September 22, 2003 6:48 AM
> >Subject: Switching between foreground and background
> >
> >
> >
> >
> >>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
> >>
> >>
> >
> >-
> >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
> >
> >
> >
>
>
> -
> 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
-
To unsubscribe from this list: send the line "unsubscribe
linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: guide to inline assembly
2003-09-23 16:19 ` guide to inline assembly palash kasodhan
@ 2003-09-23 17:57 ` Progga
0 siblings, 0 replies; 7+ messages in thread
From: Progga @ 2003-09-23 17:57 UTC (permalink / raw)
To: palash kasodhan; +Cc: linux-c-programming
On Tue, Sep 23, 2003 at 12:19:08PM -0400, palash kasodhan wrote:
> I was looking for a tutorial / guide about mixing C and assembly
> code. If some one can point a good guide , that would be great.
http://linuxassembly.org/
There's exists a linux-assembly@vger.kernel.org mailing list too.
Khoda Hafez
Progga
^ permalink raw reply [flat|nested] 7+ messages in thread
* gcc : cpp Memory Exhausted
2003-09-23 16:07 ` Switching between foreground and background John T. Williams
2003-09-23 16:19 ` guide to inline assembly palash kasodhan
2003-09-23 17:24 ` Switching between foreground and background Mariano Moreyra
@ 2003-09-24 14:36 ` Matthew Studley
2003-09-24 15:12 ` Matthew Studley
2 siblings, 1 reply; 7+ messages in thread
From: Matthew Studley @ 2003-09-24 14:36 UTC (permalink / raw)
To: linux-c-programming
Hi - I wonder whether anybody can help me?
I'm compiling some code on a robot (Slack 7.0, P 1). I've compiled it many
times before on this platform with no problem. Now when I make I get the
error:
cpp: Memory exhausted
...and the process fails
Anybody got any ideas?
regards
Matt
==============================================
Matthew Studley
The Intelligent Computer Systems Centre
Faculty of Computing, Engineering
and Mathematical Sciences
Coldharbour Lane, Frenchay
BS16 1QY
United Kingdom
tel : 07092 306548
fax : 07092 306548
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: gcc : cpp Memory Exhausted
2003-09-24 14:36 ` gcc : cpp Memory Exhausted Matthew Studley
@ 2003-09-24 15:12 ` Matthew Studley
2003-09-24 22:23 ` Luciano Miguel Ferreira Rocha
0 siblings, 1 reply; 7+ messages in thread
From: Matthew Studley @ 2003-09-24 15:12 UTC (permalink / raw)
To: linux-c-programming
I have 'solved' the problem; I was just compiling one of the source files, I
deleted all compiled output and recompiled all the source. No problem!
This is bizarre!
I have no idea what was causing this though, and would really appreciate any
ideas!
regards
Matt
----- Original Message -----
From: Matthew Studley <matthew.studley@uwe.ac.uk>
To: <linux-c-programming@vger.kernel.org>
Sent: Wednesday, September 24, 2003 3:36 PM
Subject: gcc : cpp Memory Exhausted
> Hi - I wonder whether anybody can help me?
>
> I'm compiling some code on a robot (Slack 7.0, P 1). I've compiled it
many
> times before on this platform with no problem. Now when I make I get the
> error:
>
> cpp: Memory exhausted
>
> ...and the process fails
> Anybody got any ideas?
>
> regards
>
> Matt
>
> ==============================================
> Matthew Studley
>
> The Intelligent Computer Systems Centre
> Faculty of Computing, Engineering
> and Mathematical Sciences
> Coldharbour Lane, Frenchay
> BS16 1QY
> United Kingdom
>
> tel : 07092 306548
> fax : 07092 306548
>
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe
linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
> This incoming email to UWE has been independently scanned for viruses and
any virus detected has been removed using McAfee anti-virus software
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: gcc : cpp Memory Exhausted
2003-09-24 15:12 ` Matthew Studley
@ 2003-09-24 22:23 ` Luciano Miguel Ferreira Rocha
0 siblings, 0 replies; 7+ messages in thread
From: Luciano Miguel Ferreira Rocha @ 2003-09-24 22:23 UTC (permalink / raw)
To: Matthew Studley; +Cc: linux-c-programming
On Wed, Sep 24, 2003 at 04:12:54PM +0100, Matthew Studley wrote:
> I have 'solved' the problem; I was just compiling one of the source files, I
> deleted all compiled output and recompiled all the source. No problem!
>
> This is bizarre!
>
> I have no idea what was causing this though, and would really appreciate any
> ideas!
I don't know the exact reason, but I'l give some suggestions:
1. recursive #include, as when a.h #includes "b.h", and b.h #includes "a.h"
or just a.h #includes "a.h"...
2. memory corruption. the compilation of all sources could had caused the
corrupted cache to be discarded.
3. corruption of disk transfers
(by means of an invalid selected DMA or ilegal cable)
Regards,
Luciano Rocha
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2003-09-24 22:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20030922104825.81134.qmail@web20002.mail.yahoo.com>
[not found] ` <003501c3811f$610395a0$ed64a8c0@descartes>
[not found] ` <3F702813.8030200@gsecone.com>
2003-09-23 16:07 ` Switching between foreground and background John T. Williams
2003-09-23 16:19 ` guide to inline assembly palash kasodhan
2003-09-23 17:57 ` Progga
2003-09-23 17:24 ` Switching between foreground and background Mariano Moreyra
2003-09-24 14:36 ` gcc : cpp Memory Exhausted Matthew Studley
2003-09-24 15:12 ` Matthew Studley
2003-09-24 22:23 ` Luciano Miguel Ferreira Rocha
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).