[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOfkYf7BZ1Ttrm7iVioq4mxZcJy7V44gNmusavPzgi=59=TY6g@mail.gmail.com>
Date: Thu, 13 Jun 2019 13:22:12 +0530
From: Shyam Saini <mayhs11saini@...il.com>
To: Pintu Agarwal <pintu.ping@...il.com>
Cc: Kernelnewbies <kernelnewbies@...nelnewbies.org>,
open list <linux-kernel@...r.kernel.org>, pedro@...ves.net
Subject: Re: Pause a process execution from external program
Hi Pintu,
> Hi All,
> I was just wondering if this is possible in the Linux world.
> My requirement is:
> For some reason, I want to halt/pause the execution (for some
> specified time) of a running process/thread (at some location),
> without modified the source, may be by firing some events/signals from
> an another external program, by specifying the address location or a
> line number.
>
> Is this possible ?
> May be by using some system call, or other mechanism using the process PID.
> Assume that its a debugging system with all root privileges.
>
> Basically, its just like how "gdb" is able to set the break-point in a
> program, and able to stop its execution exactly at that location.
> I am wondering what mechanism "gdb" uses to do this?
gdb uses ptrace system call, may you can explore ptrace?
> I tried to check here, but could find the exact place, where this is handled:
> https://github.com/bminor/binutils-gdb/blob/master/gdb/breakpoint.c
from command line we use ctrl-z to stop execution of a foreground
process but you can program
SIGTSTP signal handler in your application code to do the same.
is that you want ?
Thanks a lot,
Shyam
Powered by blists - more mailing lists