The list of child processes of the target process can be listed with '!pid' command.
$ radare -d /bin/sh
[0x13B8C0]> !run
To cleanly stop the execution, type: "^Z kill -STOP 1527 && fg"
sh-3.2$ ls
pid: 1611. new process created!
- Use !pid for processes, and !th for threads
CLONE HAS BEEN INVOKED
debug_dispatch_wait: RET = 0 WS(event)=6 INT3_EVENT=2 INT_EVENT=3 CLONE_EVENT=6
=== cont: tid: 1611 event: 6, signal: 19 (SIGSTOP). stop at 0x4ab95eb3
[0x4A13B8C0]> !pid
pid : 1527 0x4ab95eb3 (stopped)
pid : 1611 0x4ab95eb3 (stopped)
`- 1611 : /bin/sh (stopped)
The /bin/sh while calling 'ls'. This event has been catched by radare and prompts you again. Now we can choose which process we want to follow. The parent or the child.
[0x4A13B8C0]> !pid 1527
Current selected thread id (pid): 1527
The same operations can be done by using the '!th' command for the threads.
In the same way you can hackily 'attach' and 'detach' from to a pid.