Ruby初心者のSEです。
仕事中に、「source.rb」というファイルだけを実行させようとしていたのですが、これのバックアップ用ファイルの名前を
「source_bkup.rb」にしたせいで、どちらのファイルも実行させてしまいました。
その後プロセスをkillし、「source_bkup.rb」の名前を「source.rb.bkup」に変更し、再度「source.rb」だけを
実行させたのですが、以下のエラーが出ました。
error: 'undefined method `include?' for nil:NilClass'
「source.rb」「source_bkup.rb」ともに、中で日付指定を行う箇所があるのですが、
上記のエラーは、「source.rb」で指定した日付が、間違って実行させた「source_bkup.rb」で指定した日付と同じ場合に表示されます。
いろいろ調べてみたのですが、原因がわかりません。
どうも「source_bkup.rb」で実行したときのプロセスか何かが残っているとしか思えず、Ubuntuを再起動させても解決しませんでした。
ちなみに、pstreeコマンドで見ると、
ruby2.3 - ruby2.3 - ruby2.3
のようになっていました。
2つの同様なファイルを、同じディレクトリに配置して実行させたせいで、includeの順番がおかしくなり、
「片方のプロセスが、次に同じ日付を指定して実行されるまで「待機状態みたいな形」で残ってしまっている」
というと伝わるでしょうか...
一度、この「待機状態みたいな形」で残っているプロセスを、PIDを指定してkillしたつもりですが、
まだどこかに残ってしまっている様子です。
Rubyの仕組みをわかっていないので、自分一人ではどうしようもありません。
長文であったり、言葉足らずで、かつ、プログラムがどういう動作をするのかも詳しく書いていませんが、
この問題の解決方法が分かる方がおられましたら、ご教授願います。
(質問などがあれば、回答します。
また、可能な範囲で、補足できるところは補足して説明したいと思います。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。