Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Aug 2007 16:13:19 -0500
From:      Jonathan Horne <freebsd@dfwlp.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: How do I make install clean a port in the background
Message-ID:  <200708091613.20539.freebsd@dfwlp.com>
In-Reply-To: <20070809163101.c8623754.wmoran@potentialtech.com>
References:  <46BB75D0.3080200@calarts.edu> <46BB77C2.2020809@cs.okstate.edu> <20070809163101.c8623754.wmoran@potentialtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 09 August 2007 15:31:01 Bill Moran wrote:
> In response to Reid Linnemann <lreid@cs.okstate.edu>:
> > Written by Sean Murphy on 08/09/07 15:15>>
> >
> > > How do I make install clean a port in the background?  I used
> > >
> > > cd /usr/ports/www/apache22
> > > make install clean &
> > >
> > > it returns the pid but then compiles in the foreground
> > >
> > > What am I doing wrong?
> > >
> > > _______________________________________________
> > > freebsd-questions@freebsd.org mailing list
> > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> > > To unsubscribe, send any mail to
> > > "freebsd-questions-unsubscribe@freebsd.org"
> >
> > You're just seeing the output in the foreground, since the stdio and
> > stderr for that process are still directed to the terminal. If you are
> > using bash, you could "make install clean &> /dev/null &" to have the
> > process operate in the background and direct all output the the
> > bitbucket. I don't know the analog for other shells.
>
> That's only going to help so much.  Most ports are going to generate
> compiler warnings that go to stderr, which will still spam your screen.
>
> First off, I recommend directing to a file instead of /dev/null.  That way
> if it fails, you have the output to review.  Secondly, redirect both
> standard out and standard error.  In bourne shells:
>
> make install clean >~/buildlog.txt 2>&1 &

i use sysutils/screen.  the entire process is stuck into a new shell, seperate 
from the one you started the command in.  so, for instance:

cd /usr/ports/www/apache22
screen make install clean

then, you can background the screen with:

ctrl-a-d

i use screen all the time.  one of the most common uses i find for it, is when 
i start a process on my box at home while at the office, and i know its going 
to run way past end-of-day.  ill screen it, and then pick the screen'd 
terminal back up at home again, with a:

screen -r
or
screen -rd [pid]

(and dont forget to man screen!)

cheers,
-- 
Jonathan Horne
http://dfwlpiki.dfwlp.org
freebsd@dfwlp.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708091613.20539.freebsd>