We have NO IDEA what your 'procedure' is or is doing.
You'll have to provide an example of:
1. WHAT you do
2. HOW you do it
When you kill sqldeveloper, you kill the database session your procedure is running in.
You need to run the procedure as a database job so there is no reliance on a client connected session.
Look up dbms_scheduler.
Your SQL Developer hasn't "hung" - it is waiting for the database to finish processing your procedure. Why would you kill it? Just wait until it is complete.