You can kill by job number. When you put a task in the background you'll see something like:
$ ./script &
[1] 35341
That [1]
is the job number and can be referenced like:
$ kill %1
$ kill %% # Most recent background job
To see a list of job numbers use the jobs
command. More from man bash
:
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 substring 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 -
. A single %
(with no accompanying job specification) also refers to the
current job.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…