LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (http://www.linuxquestions.org/questions/linux-general-1/)
-   -   fg, jobs etc (http://www.linuxquestions.org/questions/linux-general-1/fg-jobs-etc-150476/)

ftgow 02-25-2004 04:31 PM

fg, jobs etc
 
Running Slack 9.1 has anyone gotten the program 'jobs' to list their "jobs?
it returns nothing, so I cant use the fg command to set my unreal server in the foreground.

ANy hints?

Tinkster 02-25-2004 04:39 PM

Works for me ...

Code:

find / -iname "test*"
Ctrl-Z
bg
jobs
[1]+  Running                find / -iname "erwin*" &
fg


Maybe you aren't discriminating between
a process you interactively started and
a daemon run by some other user?


Cheers,
Tink

ftgow 02-26-2004 10:53 AM

So I have to first take the program and hit ctrl z? That makes it appear in jobs? If so, will ctrl Z keep the program running after I log out, like the '&' shell command does.

What should I do to make my program stay their UNTIL I kill it, AND apear in the jobs thing so I can bring it to the foreground? Thanks.

Tinkster 02-26-2004 11:55 AM

That's what bg and fg are for.

man bash
/JOB CONTORL



Cheers,
TInk

Booster 02-26-2004 12:09 PM

Check your command line (or maybe the ini file) for your UT server - looks like it's set to "daemonize" - remove that option and it should run in your console.

It's been a while since I have run a server, but I think just running:

$ ./ucc server

should run the server in the foreground in your terminal

ftgow 02-26-2004 10:02 PM

Its unreal 1 run through wine.
And my man pages are not working. Can you copy that JOB CONTROL stuff for me?

Tinkster 02-26-2004 10:22 PM

Quote:

And my man pages are not working. Can you copy that JOB CONTROL stuff for me?
How about re-installing them?
And don't forget the text-tools like
groff and nroff with them ...


Code:

JOB CONTROL
      Job control refers to  the  ability  to  selectively  stop
      (suspend) the execution of processes and continue (resume)
      their execution  at  a  later  point.  A  user  typically
      employs  this  facility  via an interactive interface sup-
      plied jointly by the system's terminal driver and bash.

      The shell associates a job with each pipeline.  It keeps a
      table  of  currently  executing  jobs, which may be listed
      with the jobs command.  When  bash  starts  a  job  asyn-
      chronously  (in  the  background),  it  prints a line that
      looks like:

              [1] 25647

      indicating that this job is job number 1 and that the pro-
      cess  ID  of  the  last process in the pipeline associated
      with this job is 25647.  All of the processes in a  single
      pipeline  are  members of the same job.  Bash uses the job
      abstraction as the basis for job control.

      To facilitate the implementation of the user interface  to
      job  control, the operating system maintains the notion of
      a current terminal process group ID.  Members of this pro-
      cess  group  (processes whose process group ID is equal to
      the current terminal process group ID)  receive  keyboard-
      generated  signals  such  as  SIGINT.  These processes are
      said to be in the foreground.  Background  processes  are
      those  whose process group ID differs from the terminal's;
      such processes are immune to  keyboard-generated  signals.
      Only  foreground  processes  are  allowed  to read from or
      write to the terminal.  Background processes which attempt
      to  read  from  (write to) the terminal are sent a SIGTTIN
      (SIGTTOU) signal by the  terminal  driver,  which,  unless
      caught, suspends the process.

      If  the operating system on which bash is running supports
      job control, bash contains facilities to use  it.  Typing
      the  suspend  character  (typically ^Z, Control-Z) while a
      process is running causes that process to be  stopped  and
      returns control to bash.  Typing the delayed suspend char-
      acter (typically ^Y, Control-Y) causes the process  to  be
      stopped  when it attempts to read input from the terminal,
      and control to be returned to bash.  The  user  may  then
      manipulate  the state of this job, using the bg command to
      continue it in the background, the fg command to  continue
      it  in  the foreground, or the kill command to kill it.  A
      ^Z takes effect immediately, and has the  additional  side
      effect  of causing pending output and typeahead to be dis-
      carded.

      There are a number of ways to refer to a job in the shell.
      The  character  % introduces a job name.  Job number n may
      be referred to as %n.  A job may also be referred to using
      a  prefix  of  the  name used to start it, or using a sub-
      string that appears in its command line.  For example, %ce
      refers to a stopped ce job.  If a prefix matches more than
      one job, bash reports an error.  Using %?ce, on the  other
      hand,  refers  to  any job containing the string ce in its
      command line.  If the substring matches more than one job,
      bash reports an error.  The symbols %% and %+ refer to the
      shell's notion of the current job, which is the  last  job
      stopped  while  it was in the foreground or started in the
      background.  The previous job may be referenced using  %-.
      In output pertaining to jobs (e.g., the output of the jobs
      command), the current job is always flagged with a +,  and
      the previous job with a -.

      Simply naming a job can be used to bring it into the fore-
      ground: %1 is a synonym for ``fg %1'', bringing job 1 from
      the  background  into the foreground.  Similarly, ``%1 &''
      resumes job 1 in the background, equivalent to ``bg  %1''.

      The shell learns immediately whenever a job changes state.
      Normally, bash waits until it is about to print  a  prompt
      before  reporting  changes  in a job's status so as to not
      interrupt any other output.  If the -b option to  the  set
      builtin  command  is  enabled,  bash  reports such changes
      immediately.  Any trap on SIGCHLD  is  executed  for  each
      child that exits.

      If an attempt to exit bash is made while jobs are stopped,
      the shell prints a warning message.  The jobs command  may
      then be used to inspect their status.  If a second attempt
      to exit is made without an intervening command, the  shell
      does  not  print another warning, and the stopped jobs are
      terminated.


Cheers,
Tink

trickykid 02-26-2004 10:28 PM

Quote:

Originally posted by ftgow
Its unreal 1 run through wine.
And my man pages are not working. Can you copy that JOB CONTROL stuff for me?

http://man.linuxquestions.org can't be too hard to find the man pages online.. ;)

And PS, watch the language please. Thanks.


All times are GMT -5. The time now is 02:07 PM.