Sometimes, I need to reconfigure Logstash config.
Without restart the services, just send a SIGHUP to the running Logstash process.
$ pgrep -U logstash
17913
$ kill -SIGHUP 17913
You can see on Logstash log, it just already reloads.
$ tail -f /var/log/logstash/logstash-plain.log
[2021-05-09T16:35:12,815][WARN ][logstash.runner ] SIGHUP received.
[2021-05-09T16:35:14,184][INFO ][logstash.pipelineaction.reload] Reloading pipeline {"pipeline.id"=>:main}
[2021-05-09T16:35:17,143][INFO ][logstash.javapipeline ][main] Pipeline terminated {"pipeline.id"=>"main"}
My new Logstash config has been successfuly reloaded and ready to process a bunch of log again.