Linux-Development-Sys Digest #705, Volume #8      Wed, 9 May 01 12:13:19 EDT

Contents:
  Re: user memory locked down to kernel pages? ("Ralf Render")
  Re: user memory locked down to kernel pages? ("Ralf Render")
  Re: why a separate process for each thread on Linux ([EMAIL PROTECTED])
  Re: user memory locked down to kernel pages? (Arne Driescher)
  Re: Lilo pble with RH 7.1 (solved) (buffat)
  Re: How to get a number of processors (John Beardmore)
  Re: serial port autodetection (Javier Loureiro Varela)
  Re: STLport 4.0 & g++ 2.96 (Philip Armstrong)
  Re: STLport 4.0 & g++ 2.96 (Philip Armstrong)
  UDF write on MO (Massimiliano Caovilla)
  hibernation in linux ("abby")
  how to make FIN_WAIT1 (and others) go away ([EMAIL PROTECTED])
  Re: user memory locked down to kernel pages? (Robert Kaiser)
  Re: serial port autodetection (Grant Edwards)
  Re: serial port autodetection (Grant Edwards)
  Re: getting - failed ioctl (Michael Ferguson)
  Multiple processes using the curses library ("Alex Brown (bee3_00)")
  Re: why a separate process for each thread on Linux (Greg Copeland)
  Re: wait() and lost children (Greg Copeland)
  Re: Time to read the Disk (Greg Copeland)
  background process survive session close? (Eric Taylor)
  Re: background process survive session close? (Lew Pitcher)

----------------------------------------------------------------------------

From: "Ralf Render" <[EMAIL PROTECTED]>
Subject: Re: user memory locked down to kernel pages?
Date: Wed, 9 May 2001 08:51:55 +0200
Reply-To: "Ralf Render" <[EMAIL PROTECTED]>

Thanks for your help, Arne.
But I can not change my intention.
Each time the user requests a transfer he informs the driver about the
target address.
To avoid copying the whole memory from kernel to user memory I want the bus
muster dma to transfer directly to the user target memory.
If I map kernel memory the user has to copy the data before starting the
next transfer.
After that he can work with the copy.
Both solutions waste too much time in copying huge amount of data.

Ralf.


"Arne Driescher" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
news:[EMAIL PROTECTED]...
>
>
> Ralf Render wrote:
> >
> > Hi all,
> >
> > does anybody know, whether in one of the latest kernels it is possible
> > to lock down user memory to kernel pages?
> > My kernel driver needs to lock given user memory by preventing it form
> > beeing swapped.
> > I want to use the pages of this memory for a busmaster DMA of my
> > PCI-Card to transfer data directly from PCI memory to user memory.
> > After doing that the user memory should be unlocked.
> > Thanks for help.
> >
> > Ralf.
>
> You should rethink your approach. A driver should allocate
> the memory by itself and provide it to the application via mmap.
> This gives you painless access to the phys. addr. of the
> pages and driver memory will never be swaped out.
>
> -Arne









------------------------------

From: "Ralf Render" <[EMAIL PROTECTED]>
Subject: Re: user memory locked down to kernel pages?
Date: Wed, 9 May 2001 08:55:46 +0200
Reply-To: "Ralf Render" <[EMAIL PROTECTED]>

Thanks Mike.

Can I call "mlock()" in kernel mode?

Ralf.

> Ralf Render wrote:

> > does anybody know, whether in one of the latest kernels it is possible
> > to lock down user memory to kernel pages?
>
> The user program can call "mlock()".
>
> --
> Mike Hall
> http://www.enteract.com/~mghall




------------------------------

From: [EMAIL PROTECTED]
Subject: Re: why a separate process for each thread on Linux
Date: 9 May 2001 07:16:14 GMT

On Tue, 08 May 2001 20:40:35 GMT Juergen Heinzl <[EMAIL PROTECTED]> wrote:

| See man 2 clone for more since threads are based on this system
| call. Still things are free to change and beware as there's quite
| a difference between fork(2) and clone(2). 
|
| It's true though that, up to now, each thread gets its own process
| id, but this doesn't make it a separate process.

Indeed!

The processes created by clone(2) are quite tightly bound.  I see
the very things there which make me want to avoid threads in the
first place (and use normal processes instead).  For example, if
some code needs to chdir(2) to go deep into a directory tree, it
has to first suspend all other threads because chdir(2) will effect
their view of the world.

I wonder what the OP really needs.  Is it just to be able to use a
familiar API, or is there truly a need for contexts so tightly bound
that they share the same PID (which appears to be something that
clone(2) supports, anyway, via the CLONE_PID flag)?

-- 
=================================================================
| Phil Howard - KA9WGN |   Dallas   | http://linuxhomepage.com/ |
| [EMAIL PROTECTED] | Texas, USA | http://phil.ipal.org/     |
=================================================================

------------------------------

From: Arne Driescher <[EMAIL PROTECTED]>
Subject: Re: user memory locked down to kernel pages?
Date: Wed, 09 May 2001 09:58:48 +0200

Ralf Render wrote:
> 
> Thanks Mike.
> 
> Can I call "mlock()" in kernel mode?

No, mlock is only for user space application but you could
modify the page table entries yourself with the same result.

>From my point of view you should rethink your approach.
As far as I understand you want to transfer huge amounts
of data via DMA to user space where performance is critical.
User space lives in virt. memory and (normally) is 
physically not continous. Using it for DMA might be a real
pain even if pages are locked in memory. 

For dynamically allocated memory (user space buffers) 
you would have to scan all pages and set up your DMA controller to
handle
the transfer page by page. Moreover, you would have to handle
critical situations like program termination that your driver
probably don't know about.

Most applications can live with a ring buffer implemented in
kernel space mmaped to user space. So, your application
does not have to copy all the data but should try to
process them as fast as possible to free the ring buffer.


-Arne

------------------------------

From: buffat <[EMAIL PROTECTED]>
Subject: Re: Lilo pble with RH 7.1 (solved)
Date: Wed, 9 May 2001 10:07:26 +0200

Thanks for all
I finally solve my problem with Lilo. I just make a mistake in the BIOS 
setup. In order to boot from the CDROM to update my system, I change the 
default boot device to CDROM. After the installation, I change it again, 
but I choose HDE1, which is the second IDE disk! So all the changes that I 
made on the LBR on the first disk, were never used by the BIOS boot code.
After changing HDE1 bu HDE0, everythink is working well.
In conclusion, CHECK, RECHECK and RERECHECK  !!!!
        Marc 
-- 
Marc BUFFAT, Pr. Universite Claude Bernard LYON I 
tel:  (33) 04/72/43/10/05 (UCBL)
fax:  (33) 04/72/44/80/54
[EMAIL PROTECTED] | http://mecapar.univ-lyon1.fr

------------------------------

From: John Beardmore <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: How to get a number of processors
Date: Wed, 9 May 2001 09:12:45 +0100

In message <[EMAIL PROTECTED]>, Eric P. McCoy 
<[EMAIL PROTECTED]> writes
>John Beardmore <[EMAIL PROTECTED]> writes:
>
>[not sure what to snip and leave, I'll just quote this and launch into
>a rant]
>
>> Good system management usually comes from an appreciation of the
>> hardware in the systems and using it appropriately.
>> You seem quite reluctant to let apps have any clues that might help to
>> automate any of that.
>
>Are you objecting to the separation of Kernel and Application?

If I'd meant that, I'd have said it !

No, I'm happy that they run in different spaces, but I have no problem 
with them giving each other hints that might help performance.


>The kernel, more or less by definition, knows far more about the state
>of the system (hardware and software) than any application.

But it also has no clue about what the app algorithms need.


>  This
>makes it the best candidate for determining how to divide up
>resources.

It's a candidate for the general case, but for the sort of apps we're 
talking about, running on a fairly dedicated SMP box, it may not do a 
good job if it can't advise the app about resources that determine how 
many threads to run.


>  While it's certainly possible for an app to figure out
>what other apps are doing, it's bad for it to base its behavior on any
>of that information because it has _no idea_ what the other app is
>doing.

Pardon ?


>  The kernel probably doesn't either, but it can certainly do
>more to keep the other app under control.
>
>If you can guarantee that your Magic Parallelizing App is going to be
>the only process running at any given time,

Well, the only process requiring significant resource.


> then you can damn well
>guarantee you'll have an operator smart enough to know how many CPUs
>are in the machine (and how to tell your app about it).

So anybody writing // apps can (has to!) afford a better class of 
operator ??


>  If you can't
>guarantee that, then you need to leave process management up to the
>kernel, which can understand the situation far better than any
>individual app.

If you know the circumstances in which the app will be run, why not give 
it an indication of the number of CPUs ?  Why give the operator 
something else they can get wrong ?


>Seems like what you're _really_ advocating is some powerful process
>management stuff in the kernel.

No.  That would be the good long term solution.  What I'm advocating, or 
at least endorsing is a horrible bodge to give a better behaviour in a 
limited set of circumstances.


>  If so, go for it.  I have no doubt
>that it'd have a payoff in the workstation/desktop area as well as in
>the enterprise/datacenter server area.

You and me both, but my task is to get a retail market sector simulation 
together before September, not to do a major kernel rewrite over the 
next 4 years !


Cheers, J/.
-- 
John Beardmore

------------------------------

From: [EMAIL PROTECTED] (Javier Loureiro Varela)
Subject: Re: serial port autodetection
Date: Wed, 09 May 2001 08:48:38 GMT

On Mon, 07 May 2001 18:08:39 GMT, [EMAIL PROTECTED] (Grant Edwards)
wrote:

>>      maybe, they use some kind of low level protocol for this
>>autodetection (like LAPM for error checking)...
>
>Nope, they don't.  They just assume that the first thing they
>see is going to be an 'A'.  You measure the length of the start
>bit to determine baud rate, and then look for the stop/parity
>bits.

        there is any way to do that? How can I know those data? using
low level access to the UART?

--
signed,
             Javier Loureiro Varela
             Class One
             System Research Leader

------------------------------

From: [EMAIL PROTECTED] (Philip Armstrong)
Subject: Re: STLport 4.0 & g++ 2.96
Date: 9 May 2001 08:52:06 +0100

In article <[EMAIL PROTECTED]>,
Steve Connet  <[EMAIL PROTECTED]> wrote:
>[EMAIL PROTECTED] (Paul F. Kunz) writes:
>> Steve Connet <[EMAIL PROTECTED]> writes:
>> > And like I said before, I heard it's almost next to impossible to
>> > revert back to an older version of gcc (ie. 2.95) on a RH7.0 system
>> > that has gcc 2.96 on it.
>>    I've installed gcc 2.95.3 in /usr/local on my RH7.1 system and
>> compiled, linked, and ran my C++ programs with it without problems.
>> I use the STL that comes with gcc.
>If I do that, how do I tell the compiler to look in /usr/local/lib and
>/usr/local/include and NOT /usr/lib, /lib, and /usr/include ??

gcc -nostdinc -I/usr/local/include -L/usr/local/lib -nodefaultlibs -lc

probably (I haven't tried the above).

The gcc documentation isn't *that* hard to read is it?

Phil


-- 
http://www.kantaka.co.uk/ .oOo. public key: http://www.kantaka.co.uk/gpg.txt


------------------------------

From: [EMAIL PROTECTED] (Philip Armstrong)
Subject: Re: STLport 4.0 & g++ 2.96
Date: 9 May 2001 11:14:19 +0100

In article <9dasv6$re2$[EMAIL PROTECTED]>,
Philip Armstrong <[EMAIL PROTECTED]> wrote:
>gcc -nostdinc -I/usr/local/include -L/usr/local/lib -nodefaultlibs -lc
>
>probably (I haven't tried the above).
>
>The gcc documentation isn't *that* hard to read is it?

hmm. I probably meant

g++ -nostdinc -I/usr/include -I/usr/local/include -L/usr/lib \
    -L/usr/local/lib -nodefaultlibs -lc -lstdc++

naturally I haven't tried this either (in true usenet fashion...)

note that you *probably* actually want something like
-I/usr/local/include/STLPort/ (or wherever the STLPort includes
are...) rather than just -I/usr/local/include, and likewise for the
library paths.

Phil


-- 
http://www.kantaka.co.uk/ .oOo. public key: http://www.kantaka.co.uk/gpg.txt


------------------------------

From: Massimiliano Caovilla <[EMAIL PROTECTED]>
Subject: UDF write on MO
Date: Wed, 09 May 2001 11:37:49 GMT

        Hi
I'm trying to use the UDF filesystem on a MO scsi drive (/dev/sda):
actually I'm using the module version 0.9 I downloaded from trylinux,
but in write it doesn't work well: I must debug it by myself or there is
a better version somewhere?

        Ciao

------------------------------

From: [EMAIL PROTECTED] ("abby")
Subject: hibernation in linux
Date: Wed, 9 May 2001 11:45:11 +0000 (UTC)

This is a multi-part message in MIME format.

=======_NextPart_000_0006_01C0D701.C5307400
Content-Type: text/plain;
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

we are doing a project  trying to implement hibernation(as used in =
windows 2000)
in linux.Is it possible and if can we get a code segment.

=======_NextPart_000_0006_01C0D701.C5307400
Content-Type: text/html;
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#d8d0c8>
<DIV><FONT face=3DArial size=3D2>we are doing a project&nbsp; trying to =
implement=20
hibernation(as used in windows 2000)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>in linux.Is it possible and if can we =
get a code=20
segment.</FONT></DIV></BODY></HTML>

=======_NextPart_000_0006_01C0D701.C5307400==

-- 
Posted from [210.214.18.124] by way of dav57.law15.hotmail.com [64.4.22.192] 
via Mailgate.ORG Server - http://www.Mailgate.ORG

------------------------------

From: [EMAIL PROTECTED]
Subject: how to make FIN_WAIT1 (and others) go away
Date: 9 May 2001 10:54:39 GMT

The question is how to make FIN_WAIT1, FIN_WAIT2, LAST_ACK, and
CLOSING states on connections just go away ASAP.  I'd like some
command that could do this.  I suspect what it might require is
that command going through and finding all the hung states and
forging appropriate reset packets.  Is that all it would take?

-- 
=================================================================
| Phil Howard - KA9WGN |   Dallas   | http://linuxhomepage.com/ |
| [EMAIL PROTECTED] | Texas, USA | http://phil.ipal.org/     |
=================================================================

------------------------------

From: [EMAIL PROTECTED] (Robert Kaiser)
Subject: Re: user memory locked down to kernel pages?
Date: 9 May 2001 12:53:32 GMT

In article <[EMAIL PROTECTED]>,
        Ralf Render <[EMAIL PROTECTED]> writes:
> does anybody know, whether in one of the latest kernels it is possible
> to lock down user memory to kernel pages?
> My kernel driver needs to lock given user memory by preventing it form
> beeing swapped.
> I want to use the pages of this memory for a busmaster DMA of my
> PCI-Card to transfer data directly from PCI memory to user memory.
> After doing that the user memory should be unlocked.


In the 2.4 kernels, there is a new feature called "kiobufs" which,
AFAIK can be used for that. Have a look at "drivers/char/raw.c"
for some sample code.

HTH

Rob

================================================================
Robert Kaiser                     email: rkaiser AT sysgo DOT de
SYSGO RTS GmbH                    http://www.elinos.com
Klein-Winternheim / Germany       http://www.sysgo.de


------------------------------

From: [EMAIL PROTECTED] (Grant Edwards)
Subject: Re: serial port autodetection
Date: Wed, 09 May 2001 14:44:32 GMT

In article <[EMAIL PROTECTED]>, Javier Loureiro Varela wrote:

>>>     maybe, they use some kind of low level protocol for this
>>>autodetection (like LAPM for error checking)...
>>
>>Nope, they don't.  They just assume that the first thing they
>>see is going to be an 'A'.  You measure the length of the start
>>bit to determine baud rate, and then look for the stop/parity
>>bits.
>
>       there is any way to do that? 

Not with a regular PC serial port.

> How can I know those data? 

You hook the Rx Data line to either a timer-capture pin on a
counter-timer chip which captures timestamps for the
transitions, or you hook it to an input port pin and do the
timing in software.

> using low level access to the UART?

I've never seen a UART that could do it.

-- 
Grant Edwards                   grante             Yow!  Am I in GRADUATE
                                  at               SCHOOL yet?
                               visi.com            

------------------------------

From: [EMAIL PROTECTED] (Grant Edwards)
Subject: Re: serial port autodetection
Date: Wed, 09 May 2001 14:47:39 GMT

In article <kJcK6.413$[EMAIL PROTECTED]>, Grant Edwards wrote:

>>>Nope, they don't.  They just assume that the first thing they
>>>see is going to be an 'A'.  You measure the length of the start
>>>bit to determine baud rate, and then look for the stop/parity
>>>bits.
>>
>>      there is any way to do that? 
>
>Not with a regular PC serial port.

The traditional way to handle unknown baud-rates in Unix is to
do baud-rate cycling:

  1) Set the baud rate to some default value.
  2) Wait for data or a "break"
  3) If a "break" is received, switch to the next baud rate in
     the set of allowed baud rates.
  4) Goto 2.

-- 
Grant Edwards                   grante             Yow!  I'm a GENIUS! I
                                  at               want to dispute sentence
                               visi.com            structure with SUSAN
                                                   SONTAG!!

------------------------------

From: Michael Ferguson <[EMAIL PROTECTED]>
Subject: Re: getting - failed ioctl
Date: Wed, 09 May 2001 09:02:35 -0600


These fops must have the address of the function not just the name, 

ie.

...
NULL,
&plx_ioctl,
NULL,
&plx_open,
NULL,
...

> static struct file_operations plx_fops =
> {
> NULL,           /* lseek */
> NULL,           /*plx_read,*/
> NULL,           /*plx_write,*/
> NULL,           /* readdir */
> NULL,           /* poll */
> plx_ioctl,
> NULL,           /*plx_mmap,*/
> plx_open,       /*plx_open,*/
> NULL,           /* flush */
> NULL,           /*plx_release,*/
> NULL,           /* fsync */
> NULL,           /* fasync */
> NULL,           /* check_media_change */
> NULL,           /* revalidate */
> NULL            /* lock */
> };

-- 
Michael Ferguson
Professional Services - ACI Worldwide (Canada)
780 424 4922 x365
http://www.aciworldwide.com

------------------------------

From: "Alex Brown (bee3_00)" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Multiple processes using the curses library
Date: Wed, 09 May 2001 16:14:25 +0100

I am trying to write a program that runs under a vt100 terminal which splits the
screen into two smaller ones using the curses library. I want the display in
each window to be from seperate processes - one is the original program the
other is a child that is created by using fork().

At the moment I am having difficulty in getting the two processes to share the
terminal screen despite having non-overlapping subwindows. I have used the
newwin() command from curses to make each window with different sizes and
co-ordinates from within each process. For some reason the child process stops
running when it initialises the screen using newwin().

Can anyone suggest a way around this? Many thanks in advance.

------------------------------

Subject: Re: why a separate process for each thread on Linux
From: Greg Copeland <[EMAIL PROTECTED]>
Date: 09 May 2001 10:26:09 -0500

[EMAIL PROTECTED] writes:

> 
> The processes created by clone(2) are quite tightly bound.  I see
> the very things there which make me want to avoid threads in the
> first place (and use normal processes instead).  For example, if
> some code needs to chdir(2) to go deep into a directory tree, it
> has to first suspend all other threads because chdir(2) will effect
> their view of the world.

I see this example used all of the time when people want to frown on
threaded programming.  I for one, don't buy it.  I've coded lots of
multi-threaded applications and have never once had this as an issue
like this.  Let's face it, it's not hard to serialize something like
this.  Once you have a file handle to the file in question, it's not
like you have to keep chdir()ing every time you turn around.

I've never once needed to write an application that created two
threads which did nothing but change directories in each thread.
Besides, normally, you'll be better served having a select few
thread(s) taking care of this type of detail for you.  Even still,
there are lots of others way to crack this nut.

In a nutshell, threaded programming is just another model which may
or may not apply to the specific problem domain you are trying to
address.  It's nothing more, or less.  Just another tool in the shed.


-- 
Greg Copeland, Principal Consultant
Copeland Computer Consulting
==================================================
PGP/GPG Key at http://www.keyserver.net
DE5E 6F1D 0B51 6758 A5D7  7DFE D785 A386 BD11 4FCD
==================================================

------------------------------

Subject: Re: wait() and lost children
From: Greg Copeland <[EMAIL PROTECTED]>
Date: 09 May 2001 10:39:41 -0500

[EMAIL PROTECTED] writes:

> With this particular program, I'm not sure.  I do know the processes
> do go away.  There is nothing hanging.  I can stop the master process
> and watch them (or force them to) enter <defunct>, and when I continue
> the master process, they all vanish.  At that time the master process
> starts back just one child.  Added code to output the events in the
> code only reports one instance of wait() returning.

Have you tried writing a simple test program which tests this.  Wouldn't
be hard.  Just loop on a fork.  Have the child sleep while the parent
wait()s.  Once you've waited on the same number of children that you
forked, you're done.  If you only get a single wait that ever completes,
please post the code or email it to me and let's make sure it's not
a coding issue.  If it's not a coding issue, then it sounds like it
might be a serious kernel issue.  Oh ya, don't forget to have your
children _exit() when they are done with their nap.

Honestly, since this type of implementation is used all of the time
in UNIX style applications, I have a hard time believing that the
kernel is at fault here.  But, you never now...  ;)


-- 
Greg Copeland, Principal Consultant
Copeland Computer Consulting
==================================================
PGP/GPG Key at http://www.keyserver.net
DE5E 6F1D 0B51 6758 A5D7  7DFE D785 A386 BD11 4FCD
==================================================

------------------------------

Crossposted-To: comp.os.linux.development.apps
Subject: Re: Time to read the Disk
From: Greg Copeland <[EMAIL PROTECTED]>
Date: 09 May 2001 10:50:17 -0500


Is it possible that your device is limited to 64K block DMA transfers
which means that twice as many fetches are required at the lowest level
to satisfy your request.  I'm just guessing....

My guess at 128k read:
330 / 2 = 165

Your result for 64K reads:
175 * 2 = 350

My guess (330) < yours result (350)

If this is the case, that would mean that you are actually
getting a slightly faster result because of back to back low-level
reads (2x64K, one 128K application read) versus two 64k reads via
the application.

BTW, if you are doing much with raw IO, you may want to look at the latest
patches for this.  If I recall, there has been some recent changes which
make *HUGE* performance improvements.


Greg


Chan Shing Hong <[EMAIL PROTECTED]> writes:

> I test it as follows:
> 
> Issues 20 block requests randomly where the blocksize is 131072 (128KB) and
> the time taken is around 330ms.
> Issues 20 block requests randomly where the blocksize is 65536(64KB) and the
> time take is just around 175ms.
> 
> However, I expect the difference should not be so large since the data is
> sequentially placed.
> 
> Marty.
> 

-- 
Greg Copeland, Principal Consultant
Copeland Computer Consulting
==================================================
PGP/GPG Key at http://www.keyserver.net
DE5E 6F1D 0B51 6758 A5D7  7DFE D785 A386 BD11 4FCD
==================================================

------------------------------

From: Eric Taylor <[EMAIL PROTECTED]>
Subject: background process survive session close?
Date: Wed, 09 May 2001 15:53:43 GMT

I know I have done this:

program ... &

close session window (or telenet session if remotely connected)


and the program _sometimes_ remains running. I can't
determine when or what causes this. But, I actually want this
behavior, without needing to modify source code.

Any ideas what is going on and is there a legit way to run
a program or script  in the background and then be
able to quit the controlling terminal window w/o killing the
background job?

thanks
eric



------------------------------

From: [EMAIL PROTECTED] (Lew Pitcher)
Subject: Re: background process survive session close?
Reply-To: [EMAIL PROTECTED]
Date: Wed, 09 May 2001 15:56:34 GMT

On Wed, 09 May 2001 15:53:43 GMT, Eric Taylor <[EMAIL PROTECTED]>
wrote:

>I know I have done this:
>
>program ... &
>
>close session window (or telenet session if remotely connected)
>
>
>and the program _sometimes_ remains running. I can't
>determine when or what causes this. But, I actually want this
>behavior, without needing to modify source code.

The process ignores the SIGHUP signal.

To get this from the commandline:
  nohup program ... &

>Any ideas what is going on and is there a legit way to run
>a program or script  in the background and then be
>able to quit the controlling terminal window w/o killing the
>background job?
>
>thanks
>eric
>
>


Lew Pitcher, Information Technology Consultant, Toronto Dominion Bank Financial Group
([EMAIL PROTECTED])

(Opinions expressed are my own, not my employer's.)

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list by posting to the
comp.os.linux.development.system newsgroup.

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to