public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
@ 2021-02-05  7:45 Walter Dnes
  2021-02-05  8:46 ` Andrew Udvare
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Walter Dnes @ 2021-02-05  7:45 UTC (permalink / raw
  To: Gentoo Users List

  Thanks for all the help over the years fellow Gentoo'ers.  Maybe I can
return the favour.  So you've got a bunch of programs like Gnumeric or
QEMU or Pale Moon ( or Firefox or Chrome or Opera ) sessions open, that
are chewing up cpu and ram.  You need those resouces for another
program, but you don't want to shut those programs down and lose your
place.  If the programs could be frozen, cpu usage would go away, and
memory could be swapped out.  Here's a real-life example subset of a
"ps -ef" output on my system.  Replace "palemoon" with "firefox" or
"chrome" or whatever browser you're using.

waltdnes  4025  3173  0 Jan20 ?        01:54:21 /home/waltdnes/pm/palemoon/palemoon -new-instance -p palemoon
waltdnes  7580  3173  4 Jan21 ?        17:45:11 /home/waltdnes/pm/palemoon/palemoon -new-instance -p dslr
waltdnes  9813  3173  4 Jan21 ?        16:24:23 /home/waltdnes/pm/palemoon/palemoon -new-instance -p wxforum
waltdnes 22455  3173 58 01:31 ?        00:08:29 /home/waltdnes/pm/palemoon/palemoon -new-instance -p slashdot
waltdnes 22523  3173  0 01:31 ?        00:00:05 /home/waltdnes/pm/palemoon/palemoon -new-instance -p youtube
waltdnes 22660  3173 12 01:45 ?        00:00:04 /usr/bin/gnumeric /home/waltdnes/worldtemps/temperatures/temperatures.gnumeric
waltdnes 20346 20345  4 Jan28 ?        08:10:50 /usr/bin/qemu-system-x86_64 -enable-kvm -runas waltdnes -cpu host -monitor vc -display gtk -drive file=arcac.img,format=raw -netdev user,id=mynetwork -device e1000,netdev=mynetwork -rtc base=localtime,clock=host -m 1024 -name ArcaOS VM -vga std -parallel none

  You might want to RTFM on the "kill" command if you're skeptical.  It
does a lot more than kill programs.  "kill -L" will give you a nicely
formatted list of available signals.  For this discussion we're
interested in just "SIGCONT" and "SIGSTOP" ( *NOT* "SIGSTP" ).  If I
want to freeze the Slashdot session, I can run "kill -SIGSTOP 22455". To
unfreeze it, I can run "kill -SIGCONT 22455".  You can "SIGSTOP" on a
pid multiple times consecutively without problems; ditto for "SIGCONT".

  So far, so good, but running "ps -ef | grep whatever" and then
typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
work, subject to typos. I've set up a couple of scripts in ~/bin to
stop/continue processes, or groups thereof.  The following scripts do a
"dumb grep" of "ps -ef" output, redirecting to /dev/shm/temp.txt.  That
file is then read, and the second element of each line is the pid, which
is fed to the "kill" command.  I store the scripts as ~/bin/pstop and
~/bin/pcont.

================== pstop (process stop) script ==================
#!/bin/bash
ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pstop > /dev/shm/temp.txt
while read
do
   inputarray=(${REPLY})
   kill -SIGSTOP ${inputarray[1]}
done < /dev/shm/temp.txt

================ pcont (process continue) script ================
#!/bin/bash
ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pcont > /dev/shm/temp.txt
while read
do
   inputarray=(${REPLY})
   kill -SIGCONT ${inputarray[1]}
done < /dev/shm/temp.txt

=================================================================

  To stop all Pale Moon instances, execute "pstop palemoon".  To stop
only the Slashdot session, run "pstop slashdot".  Ditto for the pcont
command.  I hope people find this useful.

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05  7:45 [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes Walter Dnes
@ 2021-02-05  8:46 ` Andrew Udvare
  2021-02-05 19:00   ` Walter Dnes
  2021-02-05 11:55 ` Rich Freeman
  2021-02-05 12:12 ` Ramon Fischer
  2 siblings, 1 reply; 13+ messages in thread
From: Andrew Udvare @ 2021-02-05  8:46 UTC (permalink / raw
  To: Gentoo Users


> On 2021-02-05, at 02:45, Walter Dnes <waltdnes@waltdnes.org> wrote:
> 
> done < /dev/shm/temp.txt

You don't need to write a temporary file. You can pipe this directly into the while loop:

while read
do
...
done < <(ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pstop)

Also to avoid the second grep in Bash at least:

grep "[${1:0:1}]${1:1}"

 $ ps -ef | grep '[l]vmetad'
root         965       1  0 Jan31 ?        00:00:00 /sbin/lvmetad -f

^ No grep in output.

--
Andrew

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05  7:45 [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes Walter Dnes
  2021-02-05  8:46 ` Andrew Udvare
@ 2021-02-05 11:55 ` Rich Freeman
  2021-02-05 19:07   ` Walter Dnes
  2021-02-05 12:12 ` Ramon Fischer
  2 siblings, 1 reply; 13+ messages in thread
From: Rich Freeman @ 2021-02-05 11:55 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 5, 2021 at 2:45 AM Walter Dnes <waltdnes@waltdnes.org> wrote:
>
>   So far, so good, but running "ps -ef | grep whatever" and then
> typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
> work, subject to typos.

man killall


-- 
Rich


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05  7:45 [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes Walter Dnes
  2021-02-05  8:46 ` Andrew Udvare
  2021-02-05 11:55 ` Rich Freeman
@ 2021-02-05 12:12 ` Ramon Fischer
  2 siblings, 0 replies; 13+ messages in thread
From: Ramon Fischer @ 2021-02-05 12:12 UTC (permalink / raw
  To: gentoo-user


[-- Attachment #1.1: Type: text/plain, Size: 5054 bytes --]

Awesome stuff!

It might be unrelated, but I would like to mention a script[1] here, 
which I have written in Bash to analyse process signals. It is called 
"psig", which mimics some of the behaviour of Solaris' "psig" binary:

    $ psig 23024

    PID: 23024
    Name: chrome
    Queued: 0/63858
    Signals caught:
    ---------------
    Signal 17: SIGCHLD
    Signal 15: SIGTERM
    Signal 2: SIGINT
    Signal 1: SIGHUP
    Hexadecimal:  0     0     0     0     0     0 0     1     8    
    0     0     1     4     0     0     3
    Binary:       0000  0000  0000  0000  0000  0000 0000  0001  1000 
    0000  0000  0001  0100  0000  0000  0011

    Signals pending (process):
    --------------------------
    No signals found.

    Signals pending (thread):
    -------------------------
    No signals found.

    Signals blocked:
    ----------------
    No signals found.

    Signals ignored:
    ----------------
    Signal 13: SIGPIPE
    Hexadecimal:  0     0     0     0     0     0 0     0     0    
    0     0     0     1     0     0     0
    Binary:       0000  0000  0000  0000  0000  0000 0000  0000  0000 
    0000  0000  0000  0001  0000  0000  0000

-Ramon

[1] https://github.com/keks24/psig


On 05/02/2021 08:45, Walter Dnes wrote:
>    Thanks for all the help over the years fellow Gentoo'ers.  Maybe I can
> return the favour.  So you've got a bunch of programs like Gnumeric or
> QEMU or Pale Moon ( or Firefox or Chrome or Opera ) sessions open, that
> are chewing up cpu and ram.  You need those resouces for another
> program, but you don't want to shut those programs down and lose your
> place.  If the programs could be frozen, cpu usage would go away, and
> memory could be swapped out.  Here's a real-life example subset of a
> "ps -ef" output on my system.  Replace "palemoon" with "firefox" or
> "chrome" or whatever browser you're using.
>
> waltdnes  4025  3173  0 Jan20 ?        01:54:21 /home/waltdnes/pm/palemoon/palemoon -new-instance -p palemoon
> waltdnes  7580  3173  4 Jan21 ?        17:45:11 /home/waltdnes/pm/palemoon/palemoon -new-instance -p dslr
> waltdnes  9813  3173  4 Jan21 ?        16:24:23 /home/waltdnes/pm/palemoon/palemoon -new-instance -p wxforum
> waltdnes 22455  3173 58 01:31 ?        00:08:29 /home/waltdnes/pm/palemoon/palemoon -new-instance -p slashdot
> waltdnes 22523  3173  0 01:31 ?        00:00:05 /home/waltdnes/pm/palemoon/palemoon -new-instance -p youtube
> waltdnes 22660  3173 12 01:45 ?        00:00:04 /usr/bin/gnumeric /home/waltdnes/worldtemps/temperatures/temperatures.gnumeric
> waltdnes 20346 20345  4 Jan28 ?        08:10:50 /usr/bin/qemu-system-x86_64 -enable-kvm -runas waltdnes -cpu host -monitor vc -display gtk -drive file=arcac.img,format=raw -netdev user,id=mynetwork -device e1000,netdev=mynetwork -rtc base=localtime,clock=host -m 1024 -name ArcaOS VM -vga std -parallel none
>
>    You might want to RTFM on the "kill" command if you're skeptical.  It
> does a lot more than kill programs.  "kill -L" will give you a nicely
> formatted list of available signals.  For this discussion we're
> interested in just "SIGCONT" and "SIGSTOP" ( *NOT* "SIGSTP" ).  If I
> want to freeze the Slashdot session, I can run "kill -SIGSTOP 22455". To
> unfreeze it, I can run "kill -SIGCONT 22455".  You can "SIGSTOP" on a
> pid multiple times consecutively without problems; ditto for "SIGCONT".
>
>    So far, so good, but running "ps -ef | grep whatever" and then
> typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
> work, subject to typos. I've set up a couple of scripts in ~/bin to
> stop/continue processes, or groups thereof.  The following scripts do a
> "dumb grep" of "ps -ef" output, redirecting to /dev/shm/temp.txt.  That
> file is then read, and the second element of each line is the pid, which
> is fed to the "kill" command.  I store the scripts as ~/bin/pstop and
> ~/bin/pcont.
>
> ================== pstop (process stop) script ==================
> #!/bin/bash
> ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pstop > /dev/shm/temp.txt
> while read
> do
>     inputarray=(${REPLY})
>     kill -SIGSTOP ${inputarray[1]}
> done < /dev/shm/temp.txt
>
> ================ pcont (process continue) script ================
> #!/bin/bash
> ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pcont > /dev/shm/temp.txt
> while read
> do
>     inputarray=(${REPLY})
>     kill -SIGCONT ${inputarray[1]}
> done < /dev/shm/temp.txt
>
> =================================================================
>
>    To stop all Pale Moon instances, execute "pstop palemoon".  To stop
> only the Slashdot session, run "pstop slashdot".  Ditto for the pcont
> command.  I hope people find this useful.
>

-- 
GPG public key: 5983 98DA 5F4D A464 38FD CF87 155B E264 13E6 99BF



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 19:07   ` Walter Dnes
@ 2021-02-05 14:39     ` Rich Freeman
  2021-02-05 16:23     ` Neil Bothwick
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Rich Freeman @ 2021-02-05 14:39 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 5, 2021 at 2:07 PM Walter Dnes <waltdnes@waltdnes.org> wrote:
>
> On Fri, Feb 05, 2021 at 06:55:12AM -0500, Rich Freeman wrote
> > On Fri, Feb 5, 2021 at 2:45 AM Walter Dnes <waltdnes@waltdnes.org> wrote:
> > >
> > >   So far, so good, but running "ps -ef | grep whatever" and then
> > > typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
> > > work, subject to typos.
> >
> > man killall
>
>   My reading of the "killall" man page is that it works on command
> names.  For my script, "pstop palemoon" stops all instances of Pale
> Moon.  But my script greps the entire line, so "pstop slashdot" will
> stop the process...

Yeah, that is fair enough.  If you want to use other elements of the
command line/etc then you'd need to do something more along the lines
of your script.  Just wanted to make people aware.

-- 
Rich


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 19:07   ` Walter Dnes
  2021-02-05 14:39     ` Rich Freeman
@ 2021-02-05 16:23     ` Neil Bothwick
  2021-02-06  1:08     ` David Haller
  2021-02-06  4:46     ` Paul Colquhoun
  3 siblings, 0 replies; 13+ messages in thread
From: Neil Bothwick @ 2021-02-05 16:23 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 763 bytes --]

On Fri, 5 Feb 2021 14:07:39 -0500, Walter Dnes wrote:

> > man killall  
> 
>   My reading of the "killall" man page is that it works on command
> names.  For my script, "pstop palemoon" stops all instances of Pale
> Moon.  But my script greps the entire line, so "pstop slashdot" will
> stop the process...
> 
> /home/waltdnes/pm/palemoon/palemoon -new-instance -p slasdot
> 
>   Does "killall" have that ability to stop a process based on any
> parameters in the command line?

No, but you could look at using pgrep to avoid some of the awkery.


-- 
Neil Bothwick

Velilind's Laws of Experimentation:
1. If reproducibility may be a problem, conduct the test only once.
2. If a straight line fit is required, obtain only two data points.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 19:00   ` Walter Dnes
@ 2021-02-05 18:24     ` Walter Dnes
  2021-02-05 22:42       ` Matt Connell (Gmail)
  0 siblings, 1 reply; 13+ messages in thread
From: Walter Dnes @ 2021-02-05 18:24 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 05, 2021 at 02:00:05PM -0500, Walter Dnes wrote
> 
>   In the course of experimentation, I've made versions that killed
> critical processes, requiring a reboot. {ALT}{SYSRQ} to the rescue <G>.
> I'll stick with stuff that works.

  I'll have to take that back.  It happened again, and I was not
fiddling with pstop/pcont.  The common element seems to be that I was
compiling Pale Moon 29.0 each time it crashed.  A machine with 8 gigs of
ram, and 598 of 905 gigs free diskspace should not have resource issues.

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05  8:46 ` Andrew Udvare
@ 2021-02-05 19:00   ` Walter Dnes
  2021-02-05 18:24     ` Walter Dnes
  0 siblings, 1 reply; 13+ messages in thread
From: Walter Dnes @ 2021-02-05 19:00 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 05, 2021 at 03:46:45AM -0500, Andrew Udvare wrote
> 
> > On 2021-02-05, at 02:45, Walter Dnes <waltdnes@waltdnes.org> wrote:
> > 
> > done < /dev/shm/temp.txt
> 
> You don't need to write a temporary file. You can pipe this directly into the while loop:
> 
> while read
> do
> ...
> done < <(ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pstop)

  I wasn't aware of the "< <" construct. Nice

> Also to avoid the second grep in Bash at least:
> 
> grep "[${1:0:1}]${1:1}"

  That causes some feedback about backgrounded processes.

  In addition to your avoiding-the-temp-file trick, I also realized that
if I read the first 3 items of each line, I can use the 2nd parameter
directly without an intermediate assignment to an array.  The latest
version of my scripts are...

======================= pstop =======================
while read userid pid rest_of_line
do
   kill -SIGSTOP ${pid}
done < <(ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pstop)

======================= pcont =======================
#!/bin/bash
while read userid pid rest_of_line
do
   kill -SIGCONT ${pid}
done < <(ps -ef | grep ${1} | grep -v "grep ${1}" | grep -v pcont)

=====================================================

  In the course of experimentation, I've made versions that killed
critical processes, requiring a reboot. {ALT}{SYSRQ} to the rescue <G>.
I'll stick with stuff that works.

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 11:55 ` Rich Freeman
@ 2021-02-05 19:07   ` Walter Dnes
  2021-02-05 14:39     ` Rich Freeman
                       ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Walter Dnes @ 2021-02-05 19:07 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 05, 2021 at 06:55:12AM -0500, Rich Freeman wrote
> On Fri, Feb 5, 2021 at 2:45 AM Walter Dnes <waltdnes@waltdnes.org> wrote:
> >
> >   So far, so good, but running "ps -ef | grep whatever" and then
> > typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
> > work, subject to typos.
> 
> man killall

  My reading of the "killall" man page is that it works on command
names.  For my script, "pstop palemoon" stops all instances of Pale
Moon.  But my script greps the entire line, so "pstop slashdot" will
stop the process...

/home/waltdnes/pm/palemoon/palemoon -new-instance -p slasdot

  Does "killall" have that ability to stop a process based on any
parameters in the command line?

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 18:24     ` Walter Dnes
@ 2021-02-05 22:42       ` Matt Connell (Gmail)
  2021-02-06  7:54         ` Walter Dnes
  0 siblings, 1 reply; 13+ messages in thread
From: Matt Connell (Gmail) @ 2021-02-05 22:42 UTC (permalink / raw
  To: gentoo-user

On Fri, 2021-02-05 at 13:24 -0500, Walter Dnes wrote:
>   I'll have to take that back.  It happened again, and I was not
> fiddling with pstop/pcont.  The common element seems to be that I was
> compiling Pale Moon 29.0 each time it crashed.  A machine with 8 gigs of
> ram, and 598 of 905 gigs free diskspace should not have resource issues.

I contest this claim.  8GB is pretty scant for something as large and
complex as a modern browser.  Have you built this before on the same
machine?



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 19:07   ` Walter Dnes
  2021-02-05 14:39     ` Rich Freeman
  2021-02-05 16:23     ` Neil Bothwick
@ 2021-02-06  1:08     ` David Haller
  2021-02-06  4:46     ` Paul Colquhoun
  3 siblings, 0 replies; 13+ messages in thread
From: David Haller @ 2021-02-06  1:08 UTC (permalink / raw
  To: gentoo-user

Hello,

On Fri, 05 Feb 2021, Walter Dnes wrote:
>On Fri, Feb 05, 2021 at 06:55:12AM -0500, Rich Freeman wrote
>> On Fri, Feb 5, 2021 at 2:45 AM Walter Dnes <waltdnes@waltdnes.org> wrote:
>> >   So far, so good, but running "ps -ef | grep whatever" and then
>> > typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
>> > work, subject to typos.

It's much easier to use the '-o' option of ps, i.e.:

    $ ps -eo pid,cmd

That gives you a much easier format to work with. There's a lot more
fields to use, e.g. tname or tty, args or cmd, comm, and many more see
'man ps' under "STANDARD FORMAT SPECIFIERS".

>  My reading of the "killall" man page is that it works on command
>names.  For my script, "pstop palemoon" stops all instances of Pale
>Moon.  But my script greps the entire line, so "pstop slashdot" will
>stop the process...
>
>/home/waltdnes/pm/palemoon/palemoon -new-instance -p slasdot
>
>  Does "killall" have that ability to stop a process based on any
>parameters in the command line?

The following script does:

==== ~/bin/pstop && ln -s pstop ~/bin/pcont ====
#!/usr/bin/gawk -f
BEGINFILE { if( FILENAME != "" ) { exit(0); } }
BEGIN {
    ### determine if were run as pstop or pcont
    cmdlinefile = "/proc/" PROCINFO["pid"] "/cmdline" ;
    getline cmdline < cmdlinefile;
    n = split(cmdline, argv, "\0");
    IAM=argv[3];
    if( IAM ~ /pstop$/) { SIG="STOP"; } else { SIG="CONT"; };

    ### now to work ...
    printf("%s-ing pids: ", SIG); 
    bcmd = sprintf("kill -%s ", SIG);
    pscmd = "ps -eo pid,cmd";

    # IGNORECASE=1 ### uncomment for case insensitive matching
    while ( pscmd | getline ) {
        if( $1 != PROCINFO["pid"] ) { ### ignore ourself
            p = $1; $1 = ""; ### save pid to p; prune pid from $0
            for(i=1; i < (ARGC); i++) {
                if( $0 ~ ARGV[i] ) {
                    printf("%s ", p);
                    cmd = bcmd p;
                    system(cmd);
                }
            }
        }
    }
}
END { printf("\n"); }
====

Arguments can be any number of (quoted where neccessary) regular
expressions described under 'Regular Expressions' in 'man gawk'
(basically Extended POSIX REs as in egrep, see 'man 7 regex').

Example use:

$ pstop palemoon firefox slashdot 'chrom(e|ium)'

(and the same for pcont)

HTH,
-dnh

-- 
Love your enemies: they'll go crazy trying to figure out what you're up
to.                                                 -- BSD fortune file


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 19:07   ` Walter Dnes
                       ` (2 preceding siblings ...)
  2021-02-06  1:08     ` David Haller
@ 2021-02-06  4:46     ` Paul Colquhoun
  3 siblings, 0 replies; 13+ messages in thread
From: Paul Colquhoun @ 2021-02-06  4:46 UTC (permalink / raw
  To: gentoo-user

On Saturday, February 6, 2021 6:07:39 A.M. AEDT Walter Dnes wrote:
> On Fri, Feb 05, 2021 at 06:55:12AM -0500, Rich Freeman wrote
> 
> > On Fri, Feb 5, 2021 at 2:45 AM Walter Dnes <waltdnes@waltdnes.org> wrote:
> > >   So far, so good, but running "ps -ef | grep whatever" and then
> > > 
> > > typing the kill -SIGSTOP/SIGCONT command on the correct pid is grunt
> > > work, subject to typos.
> > 
> > man killall
> 
>   My reading of the "killall" man page is that it works on command
> names.  For my script, "pstop palemoon" stops all instances of Pale
> Moon.  But my script greps the entire line, so "pstop slashdot" will
> stop the process...
> 
> /home/waltdnes/pm/palemoon/palemoon -new-instance -p slasdot
> 
>   Does "killall" have that ability to stop a process based on any
> parameters in the command line?


Someone else mentioned pgrep. It has an associated pkill command as well.
Both appear to have a "-f" option to also search on the full command line.


-- 
Reverend Paul Colquhoun, ULC.     http://andor.dropbear.id.au/
  Asking for technical help in newsgroups?  Read this first:
     http://catb.org/~esr/faqs/smart-questions.html#intro





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes
  2021-02-05 22:42       ` Matt Connell (Gmail)
@ 2021-02-06  7:54         ` Walter Dnes
  0 siblings, 0 replies; 13+ messages in thread
From: Walter Dnes @ 2021-02-06  7:54 UTC (permalink / raw
  To: gentoo-user

On Fri, Feb 05, 2021 at 04:42:26PM -0600, Matt Connell (Gmail) wrote
> On Fri, 2021-02-05 at 13:24 -0500, Walter Dnes wrote:
> >   I'll have to take that back.  It happened again, and I was not
> > fiddling with pstop/pcont.  The common element seems to be that I was
> > compiling Pale Moon 29.0 each time it crashed.  A machine with 8 gigs of
> > ram, and 598 of 905 gigs free diskspace should not have resource issues.
> 
> I contest this claim.  8GB is pretty scant for something as large and
> complex as a modern browser.  Have you built this before on the same
> machine?

  See http://www.palemoon.org/releasenotes.shtml  My previous successful
build was 28.17.0 which was released December 18th.  Note: Chrome and
Firefox seem to bump the major release number "just because".  The Pale
Moon devs use all 3 digits.  E.g. an isolated bugfix has just been
released as 29.0.1.  When the major release number on Pale Moon is
incremented, there are big changes "under the hood", so increased
requirements are a possibility going from version 28.17 to 29.0.

There's also ongoing work on "de-unifying the sources"
https://forum.palemoon.org/viewtopic.php?f=62&t=24296  The thread starts
off with the question "Is it expected that Pale Moon compilation time
has almost doubled after de-unifying the sources?".  To which the head
honcho replies...

> That was only de-unifying /dom -- more will follow.
> 
> And yes, if your aren't on a particularly powerful machine with
> a fast drive, it can impact your compilation time significantly.

  I have a relatively new 16-gig machine (October) that I'll try it on.

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-02-06 23:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-05  7:45 [gentoo-user] HOWTO: Freezing/unfreezing (groups of) processes Walter Dnes
2021-02-05  8:46 ` Andrew Udvare
2021-02-05 19:00   ` Walter Dnes
2021-02-05 18:24     ` Walter Dnes
2021-02-05 22:42       ` Matt Connell (Gmail)
2021-02-06  7:54         ` Walter Dnes
2021-02-05 11:55 ` Rich Freeman
2021-02-05 19:07   ` Walter Dnes
2021-02-05 14:39     ` Rich Freeman
2021-02-05 16:23     ` Neil Bothwick
2021-02-06  1:08     ` David Haller
2021-02-06  4:46     ` Paul Colquhoun
2021-02-05 12:12 ` Ramon Fischer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox