Я создал приложение, которое читает из System.in, используя следующий метод:
Scanner input = new Scanner(System.in);
while (input.hasNextLine()) {
String line = input.nextLine();
}
Входные данные передаются с помощью команды linux:
cat -A /home/someuser/somefile.txt | java -classpath "$CLASSPATH" com.test.Main
Запись в crontab выглядит так:
MAILTO=someuser
CLASSPATH="/home/someuser/test.jar:/usr/share/java/jdom.jar:/usr/share/java/mysql-connector-java.jar"
0,10,20,30,40,50 * * * * cat -A /home/someuser/somefile.txt | java -classpath "$CLASSPATH" com.test.Main >/home/someuser/output.txt
Права доступа к файлам показывают следующее:
-rw-r--r-- 1 someuser serhiy 8385601 2011-02-07 10:57 /home/someuser/somefile.txt
На моей машине все работает нормально (Ubuntu 9), но после установки на другую машину Ubuntu 8 я понял, что программа запускается, но, похоже, ничего не читает. Я трижды проверил все конфигурации и все разрешения и результат все тот же. Когда я запускаю команду вручную, все работает, когда она запускается crontab, кажется, что она не читает ввод. Кто-нибудь сталкивался с этой проблемой раньше?
Спасибо за любую помощь
Serhiy.