GNU/Linux >> Belajar Linux >  >> Linux

/usr/bin/perl:juru bahasa buruk:File teks sibuk

Ini terjadi karena file skrip terbuka untuk ditulis, kemungkinan oleh proses nakal yang belum dihentikan.

Solusi:Periksa proses apa yang masih mengakses file, dan hentikan.

Misalnya:

# /root/wordpress_plugin_updater/updater.pl --wp-path=/var/www/virtual/joel.co.in/drjoel.in/htdocs
-bash: /root/wordpress_plugin_updater/updater.pl: /root/perl/bin/perl: bad interpreter: Text file busy

Jalankan lsof (daftarkan perintah buka file) pada nama skrip:

# lsof | grep updater.pl
sftp-serv 4416            root    3r      REG            144,103    11043   33046751 /root/wordpress_plugin_updater/updater.pl

Hentikan proses dengan PID-nya:

kill -9 4416

Sekarang coba jalankan skrip lagi. Ini berfungsi sekarang.

# /root/wordpress_plugin_updater/updater.pl --wp-path=/www/htdocs
Wordpress Plugin Updater script v3.0.1.0.
Processing 24 plugins from

Jika skrip diedit di Windows, atau OS lain dengan akhiran baris "asli" yang berbeda, itu bisa sesederhana CR(^M) "bersembunyi" di akhir baris pertama. Vi Improved dapat diatur untuk hide akhir baris bukan asli ini. Dalam kasus saya, saya cukup mengetik ulang baris pertama yang menyinggung di VI dan kesalahannya hilang.


Saya kira Anda mengalami masalah ini.

Kernel Linux akan menghasilkan bad interpreter: Text file busy kesalahan jika skrip Perl Anda (atau jenis skrip lainnya) terbuka untuk ditulis saat Anda mencoba menjalankannya.

Anda tidak mengatakan apa yang dilakukan proses intensif disk. Mungkinkah salah satu dari mereka membuka skrip untuk akses baca+tulis (walaupun itu tidak benar-benar menulis apa pun)?


Ini selalu berkaitan dengan juru bahasa perl (/usr/bin/perl) yang tidak dapat diakses. Bahkan, itu terjadi ketika skrip shell sedang berjalan atau awk atau apa pun yang ada di #! baris di bagian atas skrip.

Penyebabnya bisa banyak hal... perm, file terkunci, sistem file offline, dan seterusnya.

Itu jelas akan tergantung pada apa yang terjadi pada saat yang tepat Anda menjalankannya ketika masalah terjadi. Tapi saya harap jawabannya adalah apa yang Anda cari.


Linux
  1. Cara Memperbaiki '/ usr/bin/dirmngr':Tidak ada file atau direktori seperti itu

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. /usr/bin Vs /usr/local/bin Di Linux?

  1. /usr/bin/ls:/usr/bin/ls:Tidak Dapat Mengeksekusi File Biner?

  2. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  3. Skrip Bash:juru bahasa yang buruk

  1. ./configure :/bin/sh^M :penerjemah yang buruk

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Ubah direktori dan jalankan file dalam satu perintah