I think we need many tools to solve this problem. Assume that your application already written in GRPC format.
1. Your application does have grpc channel if not then you have following ways to achieve.
2. By using protocol buffer message
3. By using protocol buffer message along with language supported concurrency
2. Whenever you create Grpc channels, you have file_descriptor object and which again upto you how to transmit information.
3. Now you have channels and application already in grpc, application need domain socket which have created or import some libraries.
4. During hot update of server application A with A', I want to transfer the file descriptor of socket from process A to A' this line make me confuse but my approach is server application have own process , sockets and each socket have own file descriptor like Docker and Kubernetes. Once you have create own process and you have file descriptor objects against sockets which will be transmit between server process and server which doesn't make any sense and why the grpc channel exist ?