Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per PHP einen Shoutcast-Server starten/stoppen

Frage Entwicklung PHP

Mitglied: tyfoon

tyfoon (Level 1) - Jetzt verbinden

28.12.2006, aktualisiert 16:04 Uhr, 8157 Aufrufe, 15 Kommentare

Ja Hallo erstamal ,
Ich habe ein Problem, ...
...einen Shoutcast-Server über PhP zu stoppen

zum starten verwende ich folgenden code:
01.
<?php 
02.
<?php 
03.
define ('EXEC_TMP_DIR', 'C:\tmp'); 
04.
 
05.
function windExec($cmd,$mode=''){ 
06.
   // runs a command line and returns 
07.
   // the output even for Wind XP SP2 
08.
   // example: $cmd = "fullpath.exe -arg1 -arg2" 
09.
   // $outputString = windExec($cmd, "FG"); 
10.
   // OR windExec($cmd); 
11.
   // (no output since it runs in BG by default) 
12.
   // for output requires that EXEC_TMP_DIR be defined 
13.
 
14.
   // Setup the command to run from "run" 
15.
   $cmdline = "cmd /C $cmd"; 
16.
 
17.
   // set-up the output and mode 
18.
   if ($mode=='FG'){ 
19.
       $outputfile = EXEC_TMP_DIR . "\\" . time() . ".txt"; 
20.
       $cmdline .= " > $outputfile"; 
21.
       $m = true; 
22.
23.
   else $m = false; 
24.
 
25.
   // Make a new instance of the COM object 
26.
   $WshShell = new COM("WScript.Shell"); 
27.
 
28.
   // Make the command window but dont show it. 
29.
   $oExec = $WshShell->Run($cmdline, 0, $m); 
30.
 
31.
   if ($outputfile){ 
32.
       // Read the tmp file. 
33.
       $retStr = file_get_contents($outputfile); 
34.
       // Delete the temp_file. 
35.
       unlink($outputfile); 
36.
37.
   else $retStr = ""; 
38.
 
39.
   return $retStr; 
40.
}  
41.
 
42.
windExec("D:\\srv\\scast\\gwp_radio.exe"); 
43.
?>
funktioniert auch aber die datei soll öfters mit anderen config files geöffnet werden und auch einzeln beendet werden
ABER WIE?
plz Help
Gruß tyfoon
Mitglied: Dani
28.12.2006 um 13:56 Uhr
Hi,
01.
02.
windExec("D:\\srv\\scast\\gwp_radio.exe"); 
03.
?>
Was bewirkt die Zeile ausgelegt auf die Funktion?

01.
function windExec($cmd,$mode=''){
Warum setzt du dort "mode='' und weiter unten frägst du die Variable ab. Diese IF Entscheidung wird nie zutreffen.
01.
 if ($mode=='FG'){
...einen Shoutcast-Server über
Was für ein Dienst ist das?

funktioniert auch aber die datei soll
Datei? Du meinst sicher den Dienst.

öfters mit anderen config files geöffnet werden
Du willst einen Dienst mehrmals starten?!


Gruß
Dani
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 14:02 Uhr
KA ich habe das script von php aufgegabelt
http://de2.php.net/function.exec
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 14:05 Uhr
> ...einen Shoutcast-Server über
Was für ein Dienst ist das?

-->Online Radio Server
> funktioniert auch aber die datei soll
Datei? Du meinst sicher den Dienst.

--->genau
> öfters mit anderen config files
geöffnet werden
Du willst einen Dienst mehrmals starten?!

---> Ja z.B. gwp_radio.exe config_1.ini
gwp_radio.exe config_2.ini
gwp_radio.exe config_3.ini
gwp_radio.exe config_4.ini
u.s.w.


Gruß
Dani
Bitte warten ..
Mitglied: SlainteMhath
28.12.2006 um 15:03 Uhr
öfters mit anderen config
files
geöffnet werden

gwp_radio.exe config_2.ini
gwp_radio.exe config_3.ini
gwp_radio.exe config_4.ini

Also nach kurzen Überfliegen des Scripts sollte das ganz einfach mit

windExec("D:\\srv\\scast\\gwp_radio.exe config_2.ini")

funktionieren.
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 15:19 Uhr
das starten funktoniert ja einwandfrei aber wie soll ich das teil stoppen?
Bitte warten ..
Mitglied: Dani
28.12.2006 um 15:23 Uhr
Hi,
joa...aber es wäre nicht schlecht, wenn man eine Logdatei anlegen würde. Auslesen wäre kein Problem. Aber wenn die Anwendung 2 läuft, steht im TaskManager immer die gleiche exe. Wie also willst du unterscheiden, welche mit welcher config läuft?!


Gruß
Dani
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 15:25 Uhr
Wie also
willst du unterscheiden, welche mit welcher
config läuft?!
Mit PID's und ich weiß net wie ich die erstellen kann
Bitte warten ..
Mitglied: Dani
28.12.2006 um 15:29 Uhr
Hi,
ja schon..jetzt hab ich eine Idee.

Du musst beim starten eine TXT File anlegen (NAme: config_x.txt) dort speicherst du die Pid.
Somit kannst du nachher beim beenden auswählen, welche config und somit kannst du dann die richtige exe killen.


Gruß
DAni
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 15:39 Uhr
so hab ich das auch vor ABER... wie erstelle ich die txt mit der pid?
Bitte warten ..
Mitglied: Dani
28.12.2006 um 15:41 Uhr
Hi,
schau dir mal die Funktionen fopen, fwrite, fclose an.

Dani
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 15:42 Uhr
ok und wie finde ich die pid raus?
Bitte warten ..
Mitglied: SlainteMhath
28.12.2006 um 15:50 Uhr
ok und wie finde ich die pid raus?
Die steht evtl in $oExec ? Oder Du schaust Dir mal die Doku zu der Funktion COM() an - nachdem die ein WScript.Shell Objekt erstellt, sollte da irdendwo die PID bzw der Handle als Variable/Property verfügbar sein.
Bitte warten ..
Mitglied: Dani
28.12.2006 um 15:53 Uhr
Hi,
da wirst du wohl einen Kl. Batch brauchen. Sprich mit diesem kannst du die DAtei erzeugen!

01.
@ECHO off 
02.
FOR /f "tokens=2" %%i IN ('tasklist /svc ^| find "apache.exe"') DO @ECHO %%i  > C:\%config%.txt
Gruß
Dani
Bitte warten ..
Mitglied: tyfoon
28.12.2006 um 16:00 Uhr
ok...
die Pid habe ich herausbekommen
gibt es eine möglichkeit, die Pid aus der bat im Browser anzuzeigen?, sodass ich diese pid in eine Datenbank speichern kann?
Bitte warten ..
Mitglied: Dani
28.12.2006 um 16:04 Uhr
Baller diese doch einfach in ne txt rein. Diese kannst du dann nach Beenden wieder löschen.


Gruß
Dani
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...