• ベストアンサー

C言語でプログラムを再起動

 UNIXで動くC言語のプログラムを作っています。  その際、プログラムを再起動させたい時があります。  しかし、C言語でプログラムを再起動させるってどうやればいいのかよくわかりません。  何かよいやり方を知っている方、教えてください。  よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.3

関数execl()を使えばよいと思います。 この関数は、fork()と組み合わせて、他のプログラムを 起動するのに使うのが普通ですが、 fork()せずにexecl()を呼ぶと、自プロセスを指定された プログラムに置き換えます。ですので、ここで自分自身を 指定すれば、再起動したことになるはずです。

その他の回答 (2)

  • driverII
  • ベストアンサー率27% (248/913)
回答No.2

たぶんプログラムで 自分自身のプログラムを再起動させたいのでしょう。 考え方だけ。 1. Aという自分自身を再起動させるプログラムとBというプログラムを作ります。 2. Aが自分自身を再起動させたくなった時、 Bを実行し、実行してるのを確認後、終了します。 BはAが実行しているのを確認後、 Aが終了するまで定期的にAをチェックします。 3. Aが終了しているのを確認したら、Aを実行し、 実行してるのを確認後、終了します。 以上でAを再起動できます。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

>C言語でプログラムを再起動させるってどうやればいいのかよくわかりません プログラムを一旦終了して、もう一度起動すればいいだけですが。。。 たぶん、別なことで悩んでおられるかと思います。 もう少し、具体的にどんな風にしたいか補足してくれませんか?