jueves, 12 de agosto de 2021

Cómo saber el nombre de un proceso con el processid PID en Linux

Cómo saber el nombre de un proceso con el número de proceso o processid PID en Linux

Hola.

En este post voy a decirles cómo saber el nombre de un proceso con el numero de proceso o PID.

Pueden ejecutar el siguiente comando para obtener el nombre de un proceso en base a su numero de proceso

ps -p 777 -o command


jhernand-MBP13:~ jhernand$ ps -p 777 -o command

COMMAND

/Applications/Spotify.app/Contents/Frameworks/Spotify Helper (GPU).app/Contents/MacOS/Spotify Helper (GPU) --type=gpu-pr

 

En donde con el parámetro -p se especifica el processid PID y la opción de -o es para el formato de salida que aquí es command o el nombre del proceso.

En el ejemplo de arriba el processid 777 es de Spotify Helper que se está ejecutando en mi máquina.

Seguro que en alguna ocasión han necesitado saber el nombre de algún proceso que está consumiendo demasiado CPU, memoria o por algún otro motivo y solamente tienen como referencia el PID o processid.


Espero les sirva.




 



jueves, 20 de mayo de 2021

Crear Load Balancer clásico en Amazon AWS

Cómo Crear Load Balancer clásico en Amazon AWS


Hola.

En esta ocasión voy a mostrar cómo crear un Load Balancer Clásico en Amazon AWS.


1.- Ir a la consola de EC2 y seleccionar Instances.

2.- Crear una instancia default en Amazon AWS

  • En la sección de Configure Instance Details > User Data usen el siguiente script para activar el servicio http y ver una página web de respuesta desde la instancia.

#!/bin/bash
yum update -y
yum install -y httpd.x86_64
systemctl start httpd.service
systemctl enable httpd.service
echo "Hola Mundo desde $(hostname -f)" > /var/www/html/index.html

  • En la sección de Configure Security Group crear un nuevo grupo (seguridad-de-las-instancias) y agreguen una regla para el acceso HTTP por el puerto 80.
  • Todos los demás valores dejarlos por default.

3.- Duplicar la instancia seleccionando la primer instancia, click derecho Images and templates > Launch more like this 

  • Volver a duplicar para tener tres instancias en total
  • Hasta este punto se puede acceder a la instancia usando su IP pública través de cualquier navegador de internet.

4.- En la consola de EC2 seleccionar Load Balancing

  • Click en Create Load Balancer
  • Seleccionar Classic Load Balancer
  • En la sección de Assing Security Group crear un nuevo grupo (seguridad-del-load-balancer) y agreguen una regla para el acceso HTTP por el puerto 80.
  • En la sección Add EC2 Instances agregar las tres instancias creadas anteriormente
  • Todos los demás valores dejarlos por default.

5.- Una vez creado el Load Balancer Clásico, seleccionarlo para ver sus detalles.

  • En el tab de Description pueden ver el DNS name creado para el Load Balancer. 
  • En el tab de Instances esperar a que el estado de las instancias cambie de OutOfService a InService
  • Copiar el DNS y pegarlo en un navegador para ver la respuesta.
  • Refrescar la URL para ver las diferentes respuestas de las tres instancias con sus IPs privadas.


Espero les sirva.


martes, 27 de abril de 2021

File URL en Windows vs Unix

 File URL en Windows vs Unix


Hola.

En esta ocasión voy a escribir acerca de las diferencias para especificar la ubicación de un directorio o archivo en Windows vs Unix.

Este es un problema común para aquellos que trabajamos entre ambos sistemas indistintamente. La diferencia en rutas entre uno y otro sistema varía un poco por lo que es necesario hacer modificaciones para apuntar a la ubicación correcta.

Generalmente la duda de siempre es cuántos slashes se deben poner en el file URL.

El // (doble slash) después de file: indica que sigue un hostname o la palabra localhost. Aunque esta parte puede ser omitida o indicar un hostname vacío. 

Así que lo correcto, en teoría, es poner la ruta después del tercer slash.

Digo en teoría porque yo he visto el uso de incluso 5 slashes que seguramente podrían reescribirse en alguna forma correcta usando menos. Leyendo un poco sobre esto veo que hay formas no correctas que son usadas y funcionan.

Cuando se está trabajando en múltiples sistemas, lo mas común es no usar un nombre de host o rutas absolutas porque esto permite mover tus configuraciones fácilmente entre servidores sin necesidad de estar cambiándolas cada que las mueves.

Abajo los ejemplos, noten los 3 slashes que indican un hostname vació y enseguida la ruta.

Unix

Con hostname

file://localhost/tmp/archivo.txt

Sin hostname

file:///tmp/archivo.txt

Windows

Con hostname

file://localhost/c$/WINDOWS/archivo.txt 

Sin hostname

file:///c:/WINDOWS/archivo.txt 


Referencia:

https://en.wikipedia.org/wiki/File_URI_scheme


Espero les sirva.





jueves, 4 de marzo de 2021

Remote Desktop - Unable to connect on Mac OS

Microsoft Remote Desktop - Your session ended because of an error. If this keeps happening, contact your network administrator for assistance. Error code: 0x4

A ver camaradas esto va a ser rápido.


Remote Desktop - Unable to connect on Mac OS


1. Hola niños soy Martín el consultor de sistemas.

2. Ahí viene Mel Patiño .....  Otra, ahí viene Mel Patiño.

3.- Este error sale cuando intentan conectarse a un host remoto usando Microsoft Remote Desktop en Mac OS y están conectados a una VPN. Tienen que desconectarse de la VPN primero. Jajajajaja.

Zip Zap terminé. Esto es ser un profesional niña.



Espero les sirva.

Saludos.

martes, 10 de noviembre de 2020

GlobalProtect se queda conectando en macOS

GlobalProtect se queda conectando en macOS 


Hola.

En esta ocasión voy a escribir sobre un error que tengo al utilizar GlobalProtect para conectarme a una VPN.

Anteriormente estaba usando Cisco AnyConnect para conectarme a la VPN por lo que es la primera vez que instalo y uso GlobalProtect.

Después de realizar los pasos de instalación, ejecuto el programa y hago click en Connect

El problema es que la pantalla se queda en estatus de connecting pero no pasa de ahí como se ve en la imagen siguiente.

GlobalProtect connecting

Buscando acerca de este error me encontré que se tiene que activar una extension en MacOS para poder  ejecutar GlobalProtect correctamente. 

Al parecer me había brincado un paso en la configuración de GlobalProtect.... My bad. 

Solución.

1.- Ir a System Preferences de MacOS

2.- Seleccionar Security & Privacy

3.- En el tab General hacer click en el candadito para hacer cambios e introducir las credenciales correspondientes.

4.- Click en el botón de Allow al lado del mensaje "System software from developer "Palo Alto Networks" was blocked from loading"

También puede ser que se abra una ventana en dónde tienen que elegir el programa que están habilitando.   

GlobalProtect Allow

Una vez hecho esto, intenten nuevamente y ya deben poder conectarse exitosamente.

Espero les sirva.

Saludos.



 



viernes, 4 de septiembre de 2020

Cómo crear un .bash_profile en Mac

 Cómo crear un .bash_profile en Mac


Qué onda.

En esta ocasión voy a describir cómo crear un archivo .bash_profile en Mac. En ocasiones anteriores lo he hecho pero no había tenido la oportunidad de postearlo.

Como ya saben y seguramente es la razón por la que están aquí, el crear un .bash_profile de este tipo es muy útil cuando necesitamos persistir variables de ambiente en la Mac.

La razón por la que estoy creando uno es porque estoy realizando varias instalaciones que tienen dependencias. No puedo continuar con una instalación si la anterior no está lista con sus variables de ambiente establecidas y disponibles.

Solución.

1.- Iniciar una Terminal

2.- Moverte a tu home folder: 

cd ~/ 

3.- Si no existe, crear el archivo con: 

touch .bash_profile

3.- Abrir el archivo para editar con:

open -e .bash_profile

En este archivo ponen sus lineas de EXPORT para setear las variables que necesiten.

4.- Tienen que recargar el archivo en la terminal actual para ver los cambios que acaban de hacer:

source .bash_profile

Esto lo tienen que hacer en cada terminal que tengan abierta y requieran los valores que acaban de setear, por default una nueva terminal tendrá las valores disponibles.

Eso es todo. Espero les sirva

jueves, 3 de septiembre de 2020

cordova requirements failed en Mac

cordova requirements failed en Mac


Hola.

Me salió el error de abajo al intentar instalar cordova

La version de cordova es 10.0.0

La versión de Android Studio es 4.0.1

Estoy atorado en la sección de pre requisitos de Android  por el siguiente error.


MBP13:hello jhernand$ cordova requirements


Requirements check results for android:

Java JDK: installed 1.7.0

Android SDK: installed true

Android target: not installed 

Command failed with exit code 1: avdmanager list target

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/AvdManagerCli : Unsupported major.minor version 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle


Solución.

El error se debe a que la versión de JDK debe ser 1.8 y que la variable de ambiente JAVA_HOME debe apuntar allí.

Yo tenía la versión 1.7 y al parecer la versión de Gradle que instalé como parte de los pre requisitos requiere JDK 1.8

Después de instalar el JDK 1.8, ahora veo dos versiones disponibles del JDK y actualizo la variable JAVA_HOME en el archivo .bash_profile con un comando export como muestro abajo.

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

MBP13:~ jhernand$ /usr/libexec/java_home -V

Matching Java Virtual Machines (2):

    1.8.0_261, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

    1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home


/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

jangel-MBP13:~ jhernand$ open -e .bash_profile

jangel-MBP13:~ jhernand$ source .bash_profile

jangel-MBP13:~ jhernand$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home


Una vez hecho esto, ejecutar nuevamente el comando cordova requirements y ya deben tener un resultado similar al de abajo.

MBP13:hello jhernand$ cordova requirements


Requirements check results for android:

Java JDK: installed 1.8.0

Android SDK: installed true

Android target: installed android-30,android-29

Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle


Espero les sirva.