Закрытие компьютера

простая функция для создания второго файла (только для Linux):

import os
def tac(file1, file2):
     print(os.system('tac %s > %s' % (file1,file2)))

как использовать

tac('ordered.csv', 'reversed.csv')
f = open('reversed.csv')
65
задан Hrqls 4 June 2014 в 10:15
поделиться

6 ответов

Создайте свою собственную функцию для выполнения команды OS через командная строка ?

Ради примера. Но знайте, где и почему Вы хотели бы использовать, это как другие отмечает.

public static void main(String arg[]) throws IOException{
    Runtime runtime = Runtime.getRuntime();
    Process proc = runtime.exec("shutdown -s -t 0");
    System.exit(0);
}
83
ответ дан David McGraw 24 November 2019 в 15:10
поделиться

Вот другой пример, который мог работать межплатформенный:

public static void shutdown() throws RuntimeException, IOException {
    String shutdownCommand;
    String operatingSystem = System.getProperty("os.name");

    if ("Linux".equals(operatingSystem) || "Mac OS X".equals(operatingSystem)) {
        shutdownCommand = "shutdown -h now";
    }
    else if ("Windows".equals(operatingSystem)) {
        shutdownCommand = "shutdown.exe -s -t 0";
    }
    else {
        throw new RuntimeException("Unsupported operating system.");
    }

    Runtime.getRuntime().exec(shutdownCommand);
    System.exit(0);
}

определенные команды завершения работы могут потребовать различных путей или административных привилегий.

77
ответ дан David Crow 24 November 2019 в 15:10
поделиться

Быстрый ответ нет. Единственный способ сделать это путем вызова определенных для ОС команд, которые заставят компьютер завершать работу, предполагая, что приложение имеет необходимые полномочия сделать это. Это по сути непортативно, таким образом, Вы должны были бы или знать, куда Ваше приложение выполнит или иметь различные методы для различного OSs и обнаружит который использовать.

22
ответ дан Wilson 24 November 2019 в 15:10
поделиться

Можно использовать JNI, чтобы сделать это любым способом, которым Вы сделали бы это с C/C++.

2
ответ дан Steve M 24 November 2019 в 15:10
поделиться

Лучше использовать .startswith, чем использовать. Equals ...

String osName = System.getProperty("os.name");        
if (osName.startsWith("Win")) {
  shutdownCommand = "shutdown.exe -s -t 0";
} else if (osName.startsWith("Linux") || osName.startsWith("Mac")) {
  shutdownCommand = "shutdown -h now";
} else {
  System.err.println("Shutdown unsupported operating system ...");
    //closeApp();
}

Работа отлично

RA.

5
ответ дан 24 November 2019 в 15:10
поделиться

Я использую эту программу для выключения компьютера за X минут.

   public class Shutdown {
    public static void main(String[] args) {

        int minutes = Integer.valueOf(args[0]);
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {

            @Override
            public void run() {
                ProcessBuilder processBuilder = new ProcessBuilder("shutdown",
                        "/s");
                try {
                    processBuilder.start();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }

        }, minutes * 60 * 1000);

        System.out.println(" Shutting down in " + minutes + " minutes");
    }
 }
8
ответ дан 24 November 2019 в 15:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: