in reply to PERL: stop and restart parent process without killing child

It is often a good idea, in such situations, to employ three threads/processes, not two:

  1. The user-interface (“main”) thread, which among other things monitors the other two threads and periodically updates the user display.   This is the only one of the three that has any direct dealings with the user.
  2. The interface to tvtime.
  3. The interface to EPG updates.

If you want the tvtime process to stop updating something, just have the parent by some means send an urgent instruction to it, that it should do so.   The child receives the instruction (accepting it upon arrival in preference to whatever it had been doing), acknowledges it, and obeys it.   This child now obediently “does nothing” until it receives a countermand from its parent.   (But the operating system has not placed it into a “suspended” state ... unless of course you find it convenient to simply give the parent the prerogative to instruct the OS to do so.)   Perhaps the parent also sends a notification to the other process, giving it “the heads up” that its sibling is temporarily off-duty.