On Thu, Jun 13, 2019 at 1:22 PM Shyam Saini <mayhs11saini@xxxxxxxxx> wrote: > > 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? > oh thank you so much. Yes, ptrace is going to be very helpful. I will explore more on this and come back if required. > > 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 ? > This required source code modification in the target program, so I don't want this. > Thanks a lot, > Shyam _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies