У меня работает Ubuntu Server 16.04 LTS, и в конце дня я хочу выключить свой сервер с устройства Android.
Я создал php
файл (API.php
) как показано ниже.
<?php
shell_exec("shutdown -P now");
?>
И в приложении для Android есть кнопка, и OnClickListener
как показано ниже:
String serverURL = "http://hostIP/API.php";
new LongOperation().execute(serverURL);
LongOperation
класс как ниже:
private class LongOperation extends AsyncTask<String, Void, Void>{
private final HttpClient client = new DefaultHttpClient();
private String content;
private String error = null;
private ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);@Override
protected void onPreExecute() {
progressDialog.setMessage("Shutting down...");
progressDialog.show();
}
@Override
protected Void doInBackground(String... params) {
try {
HttpGet httpGet = new HttpGet(params[0]);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
content = client.execute(httpGet, responseHandler);
} catch (IOException e){
error = e.getMessage();
cancel(true);
}
return null;
}
@Override
protected void onPostExecute(Void unused) {
progressDialog.dismiss();
Toast.makeText(MainActivity.this, "finished", Toast.LENGTH_SHORT).show();}
}
этот код успешно работает на моем локальном хосте, но когда я ставлю ip своего сервера и перезапускаю его, ничего не происходит.
Как успешно завершить работу сервера Ubuntu?
Задача ещё не решена.
Других решений пока нет …