hashicorp / hashicorp/go-plugin

how to restart plugin after subprocess exited

Open
#305 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.1k
Forks
511
Avg merge
22h 47m
Merged PRs (30d)
4

Description

helo, i'm studing go-plugin. i want to know how to restart plugin procee after killed plugin process or plugin process exit unexpected.

```
// Request the plugin
raw, err := rpcClient.Dispense("greeter")
if err != nil {
log.Fatal(err)
}

// We should have a Greeter now! This feels like a normal interface
// implementation but is in fact over an RPC connection.
greeter := raw.(shared.Greeter)
fmt.Println(greeter.Greet())
for {
// killed plugin process while ranging
if client.Exited() {
log.Println("plugin exited")
fmt.Println(client.Start()) // here print: 127.0.0.1:10001 ; but sub process doesn't started
}
time.Sleep(time.Second * 1)
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.