¿Hay un argumento en la línea de comandos que forzaría a firefox.exe a iniciar un nuevo proceso para una URL particular independientemente de si ya se está ejecutando otra instancia de firefox?¿Hay alguna manera de forzar a Firefox a iniciarse en un nuevo proceso?
Respuesta
Si usted tiene un segundo perfil (como 'compañero'), a continuación se pondrá en marcha un nuevo proceso de Firefox:
firefox.exe -no-remote -p sidekick
Sin embargo, si ese perfil ya es usado por una sesión actual de Firefox, que no lo hará trabajo.
Para crear un nuevo perfil, inicie Firefox desde la línea de comandos con el indicador -P y créelo.
firefox.exe -P
Sí, como se detalla en Firefox Command Line Arguments:
firefox -new-window
Editar: releyendo en realidad se ha dicho "proceso", en cuyo caso no, no creo que pueda.
Creo que se refiere a un proceso completamente separado ... es decir, tasklist informará dos instancias de ejecución de firefox.exe. –
Acabo de ver que:/Bueno, es viernes por la noche (esa es mi excusa) – Greg
a menudo tienen que cerrar varias instancias, borrar la memoria caché y abrir varias ventanas de Firefox al probar mis cambios después de reconstruir mi aplicación web. Utilizo Firefox Portable para este propósito para permitir múltiples instancias. Escribí debajo de las secuencias de comandos por lotes que modifican una instalación de FirefoxPortable si aún no se han modificado, detengo el proceso actual de Firefox y lo reinicio. Normalmente tengo cuatro instancias ejecutándose con un nombre ejecutable diferente. Uno para mi navegación habitual y los otros tres para probar aplicaciones web. Muy útil cuando quiere probar y certificar su aplicación web para las versiones actuales y anteriores de Firefox.
Puedo abrir tres pestañas en el mismo navegador, pero tiendo a ser paranoico cuando trato con navegadores. Prefiero limpiar y volver a abrir una nueva instancia del navegador para diferentes aplicaciones antes de volver a probar en lugar de F5 o Ctrl F5.
La secuencia de comandos ejecutará un proceso separado de Firefox portátil con un nombre de proceso separado y un perfil separado.
Espero que te ayuden. Siéntase libre de usarlos. Publique sus modificaciones y correcciones de errores en este hilo.
Instalar Mozilla Firefox-Edición Portable a carpeta llamada FirstFirefoxPortable (o cualquier otro nombre apropiado)
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 ==================
de secuencias de comandos para abrir firefox para la segunda aplicación. Es el mismo script que el anterior.
Copie y guarde en un archivo por separado, p. secondfirefox.bat. Instala FirefoxPortable en otra carpeta, p. C: \ portables \ SecondFirefoxPortable. Cambie las variables en secondfirefox.bat para apuntar a la otra carpeta de instalación portátil de Firefox.
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 ---
---- ---- Actualización
Corrección de errores - Se ha corregido la ruta de perfil.
Variable separada para contraseñas claras. Recordar contraseña para la página de inicio de sesión de mi aplicación web. Menos tipeo
---- ---- actualización 2014-10-01
quitado la necesidad de cambiar manualmente el nombre del archivo FirefoxPortable.exe. El script lo hace en la primera ejecución de la instalación de FirefoxPortable.
---- ---- actualización 2014-11-09
cambios para permitir la actualización ejecutando el instalador de Mozilla Firefox-Edición Portable. Cuando este lote le pida que sobrescriba las preferencias y los marcadores, escriba N. Esto conservará los marcadores y algunas configuraciones.
- 1. ¿Hay alguna manera de obligar a Firefox a volver a mostrar un título/información sobre herramientas?
- 2. ¿Hay alguna manera de forzar a un WrapPanel a insertar una "nueva línea" en WPF?
- 3. ¿Hay alguna manera de forzar el WorkingSet de un proceso de 1 GB en C++?
- 4. ¿Hay alguna manera de forzar a un MSI "aleatorio" a realizar una única instalación de usuario?
- 5. ¿Hay alguna manera de forzar a un before_filter a ejecutar siempre el último?
- 6. ¿Puedo forzar a MSTest a utilizar un nuevo proceso para cada ejecución de prueba?
- 7. ¿Hay alguna manera de forzar a Checkstyle a ignorar una advertencia particular en el código fuente?
- 8. ¿Hay alguna manera de forzar a ASP.NET Web API a que devuelva texto sin formato?
- 9. ¿Hay alguna manera de forzar a Mathematica a eliminar el atributo Bloqueado?
- 10. ¿Hay alguna manera de decirle a gdb que espere a que comience un proceso y se conecte a él?
- 11. ¿Hay alguna manera de volver a abrir un socket?
- 12. ¿Hay alguna manera de forzar a Visual Studio 2008 (o inferior) a utilizar un corrector ortográfico para comentarios?
- 13. ¿Hay alguna manera de pasar 'stdin' como argumento a otro proceso en python?
- 14. ¿Hay alguna manera de forzar a Microsoft.Jet.OLEDB a obtener Columnas de fecha en formato MM/DD/AAAA desde Excel?
- 15. ¿Hay alguna manera de forzar un estilo a un elemento div que ya tiene un atributo style = ""
- 16. ¿Hay alguna manera de forzar a phpinfo() a generar sus cosas sin formatear? Al igual que en el modo CLI?
- 17. ¿Hay alguna manera de exportar código a HTML en Eclipse?
- 18. ¿Hay alguna manera de que un proceso de Android produzca un volcado dinámico en un OutOfMemoryError?
- 19. ¿Hay alguna manera de forzar el formato de un archivo README.txt en github?
- 20. Tarea frente a proceso, ¿realmente hay alguna diferencia?
- 21. ¿Hay alguna manera de forzar a PHP a esperar hasta que MySQL haya terminado con una transacción?
- 22. ¿Hay alguna manera de forzar una actualización de solo un encabezado en UITableView?
- 23. ¿Hay alguna manera de usar la especialización de plantilla para separar lo nuevo de lo nuevo []?
- 24. ¿Hay alguna forma de adjuntar un depurador a un proceso de Python multiproceso?
- 25. ¿Hay alguna manera de insertar a través de Graph API?
- 26. ¿Hay alguna manera de forzar WebClient, no devolver datos en caché?
- 27. ¿Alguna forma de forzar a las clases a tener un campo final público estático en Java?
- 28. ¿Hay alguna manera de llamar a Navigate desde el ViewModel?
- 29. ¿Hay alguna manera de llamar a ruby1.9 sin cargar rubygems?
- 30. ¿Hay alguna manera de pasarle texto arbitrario a Vim?
Respondió correctamente, solo quería añadir que se puede encontrar una explicación más detallada aquí: [http://www.callum-macdonald.com/about /faq/multiple-firefox-instances/](http://www.callum-macdonald.com/about/faq/multiple-firefox-instances/) – kkara