• 締切済み

lsコマンドでforkできない

Vine6.0の載ったマシン(node1とする)をlogin shellをzshにして使っています。 teratermなどを使って、node1にsshでログインし、lsコマンドを使用すると、 ls: fork failed: リソースが一時的に利用できません というメッセージが出て、lsが失敗します。zshをもう一度子シェルとして実行すると、 解決します。 他のコマンドは問題なく使えているので、lsが悪いのか、zshが悪いのかだと思うのですが、 理由はわかりますでしょうか? よろしくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.2

素直に見ると、 ls: fork failed: リソースが一時的に利用できません というのは、ls コマンドが出しているはずです。zshが出しているなら、 zsh: メッセージ となるはず。 ただ、ls が別のコマンドをforkする(起動する)というのは考えにくいのですが、どういうオペランドを指定したのでしょうか?

hhama
質問者

補足

ご回答ありがとうございます。 lsは、ls -FCにaliasして使っています。/bin/lsを直接呼び出すと大丈夫のようです。今まで(Vine6.0にするまで)、このaliasで問題になったことは無かったのですが、zshのバージョン(4.3.11)の問題なんでしょうか?

回答No.1

直接の回答じゃなくって恐縮ですが。zshに限らずこういった場合の一般的な切り分け方法の最初の一歩をば。 もし仮にlsコマンドに問題があるかも?と疑われたのであれば、次のようにタイプして ls コマンド自体の問題かどうか切り分けできると思いますがいかがでしょうか?(以下、行頭の$はコマンドプロンプトと解釈ください) (1) $ /bin/ls を実行した時にどうなるか?これで問題がないのであれば、少なくとも /bin/ls コマンドに問題はないと判断できるのでは?(他のシェルでは問題ないとの事なので結果は問題ないことは想像できるのですが。とりあえずシェルのエイリアスなどの要因を排除する方法として) (2) $ type ls を実行した時に、貴方様が入力した ls コマンドの実態が分かるのではないでしょうか?その後は一つ一つ .zsh なんたらかんたらを吟味していけば解決するかも?です。 (3)とは言え、やっぱり次の点は腑に落ちません。ご質問者様が悩んでいるのも、もっともだなぁ、と。 >zshをもう一度子シェルとして実行すると、解決します。 これについてはちょっと明確な理由が思いつきません。上記(2)の理由だと仮定してみると、もう一回 zsh を起動した時には何故問題が発生しないかの理由が思いつかないからです。(前述のように(1)も違うだろうと・・) (4)可能ならば、パラメータを変えて検証してみてどうなるか?の検証は可能でしょうか・ (a)teratermなどの端末エミュレーターではなく、コンソールから直接ログオンして変化があるかどうか? (b)putty jpなど、他の端末エミュレータでログオンしてどうなるか?

hhama
質問者

補足

ご回答ありがとうございます。 lsは、ls -FCにaliasして使っています。/bin/lsを直接呼び出すと大丈夫のようです。今まで(Vine6.0にするまで)、このaliasで問題になったことは無かったのですが、zshのバージョン(4.3.11)の問題なんでしょうか? ちなみに、puttyでも同じ問題が発生します。

関連するQ&A

専門家に質問してみよう