Gibt es ein Befehlszeilenargument, das firefox.exe zum Starten eines neuen Prozesses für eine bestimmte URL erzwingt, unabhängig davon, ob bereits eine andere Instanz von Firefox ausgeführt wird?Gibt es eine Möglichkeit, Firefox dazu zu zwingen, in einem neuen Prozess zu starten?
Antwort
Wenn Sie ein zweites Profil (wie ‚Kumpel‘) haben, die folgende wird einen neuen Firefox-Prozess starten:
firefox.exe -no-remote -p sidekick
Wenn jedoch das Profil bereits von einer aktuellen Firefox-Sitzung verwendet wird, das wird nicht Arbeit.
Um ein neues Profil zu erstellen, starten Sie Firefox über die Befehlszeile mit dem Flag -P und erstellen Sie es.
firefox.exe -P
Ja, wie in Firefox Command Line Arguments beschrieben:
firefox -new-window
Edit: Wieder Lesen Sie tatsächlich gesagt, "Prozess", in welchem Fall nein, ich glaube nicht, Sie können.
Ich denke, er meint einen völlig separaten Prozess ... dh - tasklist meldet zwei Instanzen von firefox.exe läuft. –
Ich habe gerade das entdeckt:/Nun, es ist Freitagabend (das ist meine Ausrede) – Greg
Ich brauche oft mehrere Instanzen, löschen Sie den Cache und öffnen mehrere Firefox-Fenster zu schließen, wenn meine Änderungen Prüfung nach meiner Web-Anwendung neu zu erstellen. Ich benutze Firefox für diesen Zweck, um mehrere Instanzen zu ermöglichen. Ich habe unten Batch-Skripte geschrieben, die eine Firefox Portable-Installation modifizieren, wenn sie noch nicht modifiziert wurden, den aktuellen Firefox-Prozess stoppen und ihn neu starten. Ich habe normalerweise vier Instanzen mit einem anderen ausführbaren Namen ausgeführt. Eine für das regelmäßige Surfen und die anderen drei für das Testen von Web-Apps. Sehr nützlich, wenn Sie Ihre Webanwendung für aktuelle und frühere Versionen von Firefox testen und zertifizieren möchten.
Ich öffne vielleicht drei Registerkarten im selben Browser, aber ich bin im Umgang mit Browsern eher paranoid. Ich bevorzuge es, eine neue Instanz des Browsers für verschiedene Anwendungen zu säubern und erneut zu öffnen, bevor ich erneut teste, anstatt F5 oder Ctrl F5.
Das Skript wird einen separaten tragbaren Firefox-Prozess mit einem separaten Prozessnamen und einem separaten Profil ausführen.
Hoffe, dass diese Ihnen helfen. Fühlen Sie sich frei, sie zu benutzen. Bitte poste deine Änderungen und Fehlerkorrekturen in diesem Thread.
REM ==============
setlocal
set URL=%1
REM FirefoxPortable installation folder
set FIREFOX_PORTABLE_HOME=C:\portables\FirstFirefoxPortable
REM Name of the FirefoxPortable executable file
set FIREFOX_FILENAME_NOEXT=FirstFirefoxPortable
REM Name of the Firefox executable file within App/firefox
set FIREFOX_EXEC_NOEXT=firstfirefox
set FIREFOX_PORTABLE_EXEC=%FIREFOX_PORTABLE_HOME%\%FIREFOX_FILENAME_NOEXT%.exe
REM Name of the other profile folder.
set FIREFOX_PROFILE=firstprofile
set CLEAR_HISTORY=true
set CLEAR_CACHE=true
set CLEAR_SAVED_PASSWORDS=true
set CLEAR_SESSION=true
set WAIT_DURATION=4
set ADDITIONAL_WAIT_DURATION=2
if not exist %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini (
@echo off
echo.
echo.
echo Setting up Firefox Profile
echo.
echo.
pause
@echo on
echo [FirefoxPortable]>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo FirefoxDirectory=App\firefox>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo ProfileDirectory=%FIREFOX_PROFILE%\profile>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo SettingsDirectory=%FIREFOX_PROFILE%\settings>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo PluginsDirectory=%FIREFOX_PROFILE%\plugins>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo FirefoxExecutable=%FIREFOX_EXEC_NOEXT%.exe>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo AdditionalParameters=>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo LocalHomepage=>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo DisableSplashScreen=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo AllowMultipleInstances=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo DisableIntelligentStart=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo SkipCompregFix=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
echo RunLocally=false>>%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini
rem create dirs
pushd %FIREFOX_PORTABLE_HOME%
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\settings
mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\plugins
popd
rem copy profile
xcopy /e %FIREFOX_PORTABLE_HOME%\App\DefaultData\profile %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile
copy /y %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%.ini %FIREFOX_PORTABLE_HOME%\FirefoxPortable.ini
rename %FIREFOX_PORTABLE_HOME%\FirefoxPortable.exe %FIREFOX_FILENAME_NOEXT%.exe
rename %FIREFOX_PORTABLE_HOME%\App\Firefox\firefox.exe %FIREFOX_EXEC_NOEXT%.exe
)
rem check if firefox is running
REM tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe" 2>NUL | find /I /N "%FIREFOX_FILENAME_NOEXT%.exe">NUL
REM if "%ERRORLEVEL%"=="0" (
REM echo Firefox running
REM taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM ping -n 4 127.0.0.1 > NUL
REM tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM echo retrying killing Firefox
REM taskkill /f /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
REM ping -n 2 127.0.0.1 > NUL
REM taskkill /f /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
REM) else (
REM echo Firefox not running.. starting..
REM)
taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
ping -n %WAIT_DURATION% 127.0.0.1 > NUL
echo ==== try killing
tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
tasklist /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
taskkill /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
taskkill /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
ping -n %ADDITIONAL_WAIT_DURATION% 127.0.0.1 > NUL
echo ==== retry killing forcefully
tasklist /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
tasklist /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
taskkill /f /t /FI "IMAGENAME eq %FIREFOX_FILENAME_NOEXT%.exe"
taskkill /f /t /FI "IMAGENAME eq %FIREFOX_EXEC_NOEXT%.exe"
REM clear everything - delete profile
REM del /f /s /q %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\*
REM rmdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\
REM mkdir %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\
REM clear all sqlite files
rem for /d %%x in (%FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\*) do del /q /s /f %%x\*sqlite
if "%CLEAR_HISTORY%"=="true" (
echo.
echo Clearing History
echo.
rem clear history (Bookmarks, browsing and download history)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\places.sqlite*
rem clear form history (Saved form data)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\formhistory.sqlite*
)
if "%CLEAR_SESSION%"=="true" (
echo.
echo Clearing browsing session
echo.
rem clear previous browsing session
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\sessionstore.js
)
if "%CLEAR_SAVED_PASSWORDS%"=="true" (
echo.
echo Clearing saved passwords
echo.
rem clear saved passwords
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\logins.json
)
if "%CLEAR_CACHE%"=="true" (
echo.
echo Clearing cache
echo.
rem clear permissions (Permission database for cookies, pop-up blocking, image loading and add-ons installation.)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\permissions.sqlite*
rem clear content preferences (Individual settings for pages.)
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\content-prefs.sqlite*
rem clear cookies
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\cookies.sqlite*
rem clear cache
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\cache2\*
rem clear offline cache
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\OfflineCache\*
rem clear DOM Storage
del /q /s /f %FIREFOX_PORTABLE_HOME%\%FIREFOX_PROFILE%\profile\webappsstore.sqlite*
)
if "%URL%"=="" (
set URL=www.google.com?q=DidYouPassTheURLArgument
)
@echo on
start /MAX "%FIREFOX_FILENAME_NOEXT%.exe" %FIREFOX_PORTABLE_EXEC% -P "%FIREFOX_PROFILE%" -no-remote -new-tab %URL%
endlocal
REM ==================
Script zum Öffnen firefox für die zweite App
Firefox installieren, um Ordner FirstFirefoxPortable (oder einem anderen geeigneten Namen) benannt. Es ist das gleiche Skript wie oben.
Kopieren und Speichern in einer separaten Datei, z. secondfirefox.bat. Installieren Sie FirefoxPortable in einem anderen Ordner, z. C: \ portables \ SecondFirefoxPortable. Ändern Sie die Variablen in secondfirefox.bat, um auf den anderen tragbaren firefox-Installationsordner zu verweisen.
setlocal
set URL=%1
REM FirefoxPortable installation folder
set FIREFOX_PORTABLE_HOME=C:\portables\SecondFirefoxPortable
REM Name of the FirefoxPortable executable file
set FIREFOX_FILENAME_NOEXT=SecondFirefoxPortable
REM Name of the Firefox executable file within App/firefox
set FIREFOX_EXEC_NOEXT=secondfirefox
set FIREFOX_PORTABLE_EXEC=%FIREFOX_PORTABLE_HOME%\%FIREFOX_FILENAME_NOEXT%.exe
REM Name of the other profile folder.
set FIREFOX_PROFILE=secondprofile
REM --- snip ---
---- ---- aktualisieren
Fehlerbehebungen - korrigiert den Profilpfad.
Getrennte Variable für eindeutige Passwörter. Merken Sie sich das Passwort für die Login-Seite meiner Web-App. Weniger tippen.
---- -----Update 2014-10-01
die Notwendigkeit entfernt, um manuell die FirefoxPortable.exe Datei zu umbenennen. Das Skript macht es bei der ersten Installation von FirefoxPortable.
---- -----Update 2014-11-09
Änderungen Aktualisierung zu ermöglichen, durch den Firefox Installer ausgeführt wird. Wenn Sie in diesem Stapel aufgefordert werden, die Vorgaben und Lesezeichen zu überschreiben, geben Sie N ein. Dadurch bleiben Lesezeichen und einige Einstellungen erhalten.
Korrekt beantwortet, wollte nur hinzufügen, dass eine detailliertere Erklärung hier gefunden werden kann: [http://www.callum-macdonald.com/about /faq/multiple-firefox-instances/](http://www.callum-macdonald.com/about/faq/multiple-firefox-instances/) – kkara